From 0634f773d58e971b2a2b4a553a340446a34bded8 Mon Sep 17 00:00:00 2001 From: champsupertramp Date: Thu, 5 Nov 2015 19:51:31 +0800 Subject: [PATCH] Update 1.3.29 --- admin/assets/css/um-admin-misc.css | 79 +- admin/assets/css/um-admin-modal.css | 4 +- admin/assets/css/um-admin-redux.css | 12 +- admin/assets/css/um-admin-select2.css | 84 + admin/core/lib/ReduxFramework/CHANGELOG.md | 198 +- admin/core/lib/ReduxFramework/Gruntfile.js | 135 +- admin/core/lib/ReduxFramework/README.md | 4 +- admin/core/lib/ReduxFramework/README.txt | 130 +- .../assets/css/color-picker/color-picker.css | 2 +- .../assets/css/color-picker/color-picker.scss | 4 +- .../ReduxCore/assets/css/redux-admin.css | 2 +- .../ReduxCore/assets/css/redux-admin.scss | 229 +- .../ReduxCore/assets/css/redux-fields.css | 2 +- .../ReduxCore/assets/css/rtl.css | 2 +- .../ReduxCore/assets/css/rtl.scss | 8 +- .../vendor/elusive-icons/elusive-icons.css | 4 + .../fonts/elusiveicons-webfont.eot | Bin 0 -> 80440 bytes .../fonts/elusiveicons-webfont.svg | 934 ++++ .../fonts/elusiveicons-webfont.ttf | Bin 0 -> 80248 bytes .../fonts/elusiveicons-webfont.woff | Bin 0 -> 49068 bytes .../vendor/elusive-icons/scss/_animated.scss | 34 + .../elusive-icons/scss/_bordered-pulled.scss | 16 + .../css/vendor/elusive-icons/scss/_core.scss | 13 + .../elusive-icons/scss/_fixed-width.scss | 6 + .../css/vendor/elusive-icons/scss/_icons.scss | 615 +++ .../vendor/elusive-icons/scss/_larger.scss | 13 + .../css/vendor/elusive-icons/scss/_list.scss | 19 + .../vendor/elusive-icons/scss/_mixins.scss | 27 + .../css/vendor/elusive-icons/scss/_path.scss | 14 + .../elusive-icons/scss/_rotated-flipped.scss | 20 + .../vendor/elusive-icons/scss/_stacked.scss | 20 + .../vendor/elusive-icons/scss/_variables.scss | 318 ++ .../elusive-icons/scss/elusive-icons.css | 4 + .../elusive-icons/scss/elusive-icons.css.map | 7 + .../elusive-icons/scss/elusive-icons.scss | 17 + .../ReduxCore/assets/js/redux.js | 541 ++- .../ReduxCore/assets/js/redux.min.js | 6 +- .../js/vendor/redux.select2.sortable.js | 10 +- .../js/vendor/redux.select2.sortable.min.js | 2 +- .../ReduxCore/core/dashboard.php | 32 + .../ReduxFramework/ReduxCore/core/enqueue.php | 768 +-- .../ReduxCore/core/newsflash.php | 137 + .../ReduxFramework/ReduxCore/core/panel.php | 360 ++ .../ReduxCore/core/required.php | 25 + .../ReduxFramework/ReduxCore/framework.php | 1677 +++---- .../ReduxFramework/ReduxCore/inc/class.p.php | 19 +- .../ReduxCore/inc/class.redux_api.php | 513 ++ .../ReduxCore/inc/class.redux_filesystem.php | 77 +- .../ReduxCore/inc/class.redux_functions.php | 16 +- .../ReduxCore/inc/class.redux_helpers.php | 857 +++- .../ReduxFramework/ReduxCore/inc/debug.php | 2 +- .../ReduxCore/inc/extensions/README.txt | 1 + .../customizer/extension_customizer.php | 687 +++ .../import_export/extension_import_export.php | 208 + .../import_export/field_import_export.css | 1 + .../import_export/field_import_export.js | 195 + .../import_export/field_import_export.min.js | 1 + .../import_export/field_import_export.php | 191 + .../import_export/field_import_export.scss | 13 + .../inc/fields/ace_editor/field_ace_editor.js | 7 - .../fields/ace_editor/field_ace_editor.min.js | 2 +- .../inc/fields/ace_editor/vendor/ace.js | 2 +- .../inc/fields/ace_editor/vendor/ext-emmet.js | 5 + .../fields/ace_editor/vendor/ext-searchbox.js | 5 + .../inc/fields/ace_editor/vendor/mode-css.js | 2 +- .../inc/fields/ace_editor/vendor/mode-html.js | 2 +- .../ace_editor/vendor/mode-javascript.js | 2 +- .../inc/fields/ace_editor/vendor/mode-json.js | 2 +- .../inc/fields/ace_editor/vendor/mode-less.js | 2 +- .../fields/ace_editor/vendor/mode-markdown.js | 2 +- .../fields/ace_editor/vendor/mode-mysql.js | 2 +- .../inc/fields/ace_editor/vendor/mode-php.js | 2 +- .../inc/fields/ace_editor/vendor/mode-scss.js | 2 +- .../inc/fields/ace_editor/vendor/mode-xml.js | 2 +- .../fields/ace_editor/vendor/worker-css.js | 2 +- .../fields/ace_editor/vendor/worker-html.js | 2 +- .../ace_editor/vendor/worker-javascript.js | 2 +- .../fields/ace_editor/vendor/worker-json.js | 2 +- .../fields/ace_editor/vendor/worker-php.js | 2 +- .../inc/fields/background/field_background.js | 1 - .../fields/background/field_background.min.js | 2 +- .../fields/background/field_background.php | 6 + .../inc/fields/border/field_border.php | 10 +- .../inc/fields/color_rgba/field_color_rgba.js | 19 +- .../fields/color_rgba/field_color_rgba.min.js | 2 +- .../fields/color_rgba/field_color_rgba.php | 13 +- .../fields/dimensions/field_dimensions.php | 69 +- .../image_select/field_image_select.css | 2 +- .../fields/image_select/field_image_select.js | 19 +- .../image_select/field_image_select.min.js | 2 +- .../image_select/field_image_select.php | 16 +- .../image_select/field_image_select.scss | 2 +- .../ReduxCore/inc/fields/info/field_info.css | 2 +- .../ReduxCore/inc/fields/info/field_info.php | 35 +- .../ReduxCore/inc/fields/info/field_info.scss | 11 +- .../inc/fields/palette/field_palette.css | 1 + .../inc/fields/palette/field_palette.js | 53 + .../inc/fields/palette/field_palette.min.js | 1 + .../inc/fields/palette/field_palette.php | 110 + .../inc/fields/palette/field_palette.scss | 46 + .../ReduxCore/inc/fields/raw/field_raw.php | 26 - .../inc/fields/section/field_section.php | 209 +- .../inc/fields/select/elusive-icons.php | 598 +-- .../inc/fields/select/field_select.php | 2 +- .../inc/fields/slider/field_slider.js | 25 +- .../inc/fields/slider/field_slider.min.js | 2 +- .../inc/fields/slider/field_slider.php | 2 + .../inc/fields/sortable/field_sortable.css | 2 +- .../inc/fields/sortable/field_sortable.php | 27 +- .../inc/fields/sortable/field_sortable.scss | 18 +- .../inc/fields/spacing/field_spacing.css | 2 +- .../inc/fields/spacing/field_spacing.php | 10 +- .../inc/fields/spacing/field_spacing.scss | 4 - .../inc/fields/spinner/field_spinner.js | 20 +- .../inc/fields/spinner/field_spinner.min.js | 2 +- .../inc/fields/switch/field_switch.min.js | 2 +- .../fields/typography/field_typography.css | 3 +- .../inc/fields/typography/field_typography.js | 347 +- .../fields/typography/field_typography.min.js | 2 +- .../fields/typography/field_typography.php | 12 +- .../inc/validation/css/validation_css.php | 9 +- .../preg_replace/validation_preg_replace.php | 2 +- .../unique_slug/validation_unique_slug.php | 69 + .../inc/welcome/css/redux-welcome.css | 1 + .../inc/welcome/css/redux-welcome.scss | 729 +++ .../inc/welcome/js/jquery.easing.min.js | 44 + .../inc/welcome/js/redux-welcome-admin.js | 294 ++ .../js/zeroclipboard/ZeroClipboard.swf | Bin 0 -> 4045 bytes .../js/zeroclipboard/jquery.zeroclipboard.js | 1881 ++++++++ .../zeroclipboard/jquery.zeroclipboard.min.js | 17 + .../ReduxCore/inc/welcome/views/about.php | 79 + .../ReduxCore/inc/welcome/views/changelog.php | 20 + .../ReduxCore/inc/welcome/views/credits.php | 17 + .../inc/welcome/views/extensions.php | 147 + .../inc/welcome/views/status_report.php | 707 +++ .../ReduxCore/inc/welcome/views/support.php | 229 + .../ReduxCore/inc/welcome/welcome.php | 564 +++ .../ReduxFramework/ReduxCore/languages/ar.mo | Bin 19241 -> 17301 bytes .../ReduxCore/languages/bg_BG.mo | Bin 8658 -> 8567 bytes .../ReduxCore/languages/bn_BD.mo | Bin 6370 -> 6761 bytes .../ReduxCore/languages/de_DE.mo | Bin 17993 -> 14510 bytes .../ReduxFramework/ReduxCore/languages/el.mo | Bin 18442 -> 18378 bytes .../ReduxCore/languages/es_ES.mo | Bin 16144 -> 19313 bytes .../ReduxCore/languages/es_MX.mo | Bin 5768 -> 6325 bytes .../ReduxCore/languages/fa_IR.mo | Bin 9466 -> 12907 bytes .../ReduxFramework/ReduxCore/languages/fi.mo | Bin 4630 -> 4727 bytes .../ReduxCore/languages/fr_FR.mo | Bin 23890 -> 39336 bytes .../ReduxCore/languages/he_IL.mo | Bin 10978 -> 10520 bytes .../ReduxCore/languages/hi_IN.mo | Bin 8950 -> 9105 bytes .../ReduxFramework/ReduxCore/languages/hr.mo | Bin 9188 -> 9230 bytes .../ReduxCore/languages/hu_HU.mo | Bin 8504 -> 7996 bytes .../ReduxCore/languages/id_ID.mo | Bin 8876 -> 9333 bytes .../ReduxCore/languages/it_IT.mo | Bin 16263 -> 15287 bytes .../ReduxFramework/ReduxCore/languages/ja.mo | Bin 19635 -> 15820 bytes .../ReduxFramework/ReduxCore/languages/km.mo | Bin 9065 -> 7971 bytes .../ReduxCore/languages/nb_NO.mo | Bin 22195 -> 15527 bytes .../ReduxCore/languages/ne_NP.mo | Bin 13421 -> 13557 bytes .../ReduxCore/languages/nl_NL.mo | Bin 16680 -> 12002 bytes .../ReduxCore/languages/pl_PL.mo | Bin 22556 -> 18965 bytes .../ReduxCore/languages/pt_BR.mo | Bin 15130 -> 16478 bytes .../ReduxCore/languages/pt_PT.mo | Bin 3835 -> 7081 bytes .../ReduxCore/languages/redux-framework.pot | 1261 +++-- .../ReduxCore/languages/ro_RO.mo | Bin 23556 -> 16678 bytes .../ReduxCore/languages/ru_RU.mo | Bin 18953 -> 48364 bytes .../ReduxCore/languages/sk_SK.mo | Bin 7856 -> 7898 bytes .../ReduxCore/languages/sl_SI.mo | Bin 4497 -> 4548 bytes .../ReduxCore/languages/sv_SE.mo | Bin 13197 -> 13181 bytes .../ReduxFramework/ReduxCore/languages/th.mo | Bin 8652 -> 8686 bytes .../ReduxCore/languages/tr_TR.mo | Bin 21251 -> 15990 bytes .../ReduxCore/languages/zh_CN.mo | Bin 8348 -> 14324 bytes .../templates/panel/container.tpl.php | 44 + .../ReduxCore/templates/panel/content.tpl.php | 121 + .../ReduxCore/templates/panel/footer.tpl.php | 60 + .../ReduxCore/templates/panel/header.tpl.php | 61 + .../templates/panel/header_stickybar.tpl.php | 36 + .../templates/panel/menu_container.tpl.php | 67 + .../lib/ReduxFramework/class.redux-plugin.php | 16 +- .../lib/ReduxFramework/redux-framework.php | 4 +- .../sample/barebones-config-legacy.php | 275 ++ .../sample/barebones-config.php | 560 +-- .../lib/ReduxFramework/sample/info-html.html | 5 +- .../sample/sample-config-legacy.php | 1905 ++++++++ .../ReduxFramework/sample/sample-config.php | 4126 +++++++++-------- admin/core/lib/ReduxFramework/wpml-config.xml | 5 - admin/core/um-admin-access.php | 7 +- admin/core/um-admin-actions-fields.php | 5 +- admin/core/um-admin-actions-modal.php | 4 +- admin/core/um-admin-actions.php | 213 +- admin/core/um-admin-dashboard.php | 11 + admin/core/um-admin-dragdrop.php | 4 + admin/core/um-admin-enqueue.php | 11 +- admin/core/um-admin-metabox.php | 43 +- admin/core/um-admin-notices.php | 53 +- admin/core/um-admin-redux.php | 18 +- admin/core/um-admin-users.php | 62 +- admin/templates/access/settings.php | 11 +- admin/templates/dashboard/cache.php | 17 + admin/templates/directory/general.php | 14 +- admin/templates/directory/search.php | 9 + admin/templates/extensions.php | 21 + admin/templates/role/sync.php | 34 + admin/templates/welcome/about.php | 36 +- admin/templates/welcome/about_header.php | 4 +- admin/templates/welcome/start.php | 16 +- admin/um-admin-init.php | 2 +- assets/css/um-account.css | 6 +- assets/css/um-misc.css | 26 + assets/css/um-profile.css | 5 +- assets/css/um-responsive.css | 8 - assets/css/um-styles.css | 10 +- assets/css/um.min.css | 4 +- assets/css/um.rtl.css | 17 + assets/dynamic_css/dynamic_directory.php | 8 +- assets/dynamic_css/dynamic_global.php | 19 +- assets/js/um-functions.js | 18 +- assets/js/um-modal.js | 2 +- assets/js/um-responsive.js | 3 +- assets/js/um-scripts.js | 8 +- assets/js/um-scrollto.js | 210 + assets/js/um.min.js | 12 +- core/lib/upload/um-file-upload.php | 2 +- core/lib/upload/um-image-upload.php | 3 +- core/um-access.php | 6 +- core/um-account.php | 7 +- core/um-actions-access.php | 66 +- core/um-actions-account.php | 14 +- core/um-actions-core.php | 12 - core/um-actions-form.php | 376 +- core/um-actions-global.php | 3 +- core/um-actions-login.php | 20 + core/um-actions-members.php | 15 +- core/um-actions-profile.php | 72 +- core/um-actions-user.php | 14 + core/um-actions-wpadmin.php | 10 +- core/um-builtin.php | 39 +- core/um-datetime.php | 62 + core/um-enqueue.php | 23 +- core/um-fields.php | 39 +- core/um-files.php | 21 +- core/um-filters-fields.php | 32 +- core/um-filters-login.php | 2 +- core/um-filters-members.php | 15 +- core/um-form.php | 6 +- core/um-logout.php | 15 +- core/um-mail.php | 24 +- core/um-members.php | 28 +- core/um-navmenu-walker-edit.php | 2 - core/um-permalinks.php | 27 +- core/um-profile.php | 2 +- core/um-query.php | 31 +- core/um-rewrite.php | 44 +- core/um-setup.php | 11 +- core/um-short-functions.php | 311 +- core/um-shortcodes.php | 28 +- core/um-user.php | 99 +- core/um-validation.php | 3 + index.php | 2 +- readme.txt | 207 +- um-config.php | 129 +- um-init.php | 22 +- 260 files changed, 21302 insertions(+), 5951 deletions(-) create mode 100644 admin/assets/css/um-admin-select2.css create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/elusive-icons.css create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.eot create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.svg create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.ttf create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.woff create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_animated.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_bordered-pulled.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_core.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_fixed-width.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_icons.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_larger.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_list.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_mixins.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_path.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_rotated-flipped.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_stacked.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_variables.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css.map create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/core/dashboard.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/core/newsflash.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/core/panel.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/core/required.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_api.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/README.txt create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/extension_import_export.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.css create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.min.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-emmet.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-searchbox.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/fields/palette/field_palette.css create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/fields/palette/field_palette.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/fields/palette/field_palette.min.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/fields/palette/field_palette.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/fields/palette/field_palette.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/validation/unique_slug/validation_unique_slug.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/css/redux-welcome.css create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/css/redux-welcome.scss create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/jquery.easing.min.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/redux-welcome-admin.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/zeroclipboard/ZeroClipboard.swf create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/zeroclipboard/jquery.zeroclipboard.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/zeroclipboard/jquery.zeroclipboard.min.js create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/about.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/changelog.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/credits.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/extensions.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/status_report.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/templates/panel/container.tpl.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/templates/panel/content.tpl.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php create mode 100644 admin/core/lib/ReduxFramework/ReduxCore/templates/panel/menu_container.tpl.php create mode 100644 admin/core/lib/ReduxFramework/sample/barebones-config-legacy.php create mode 100644 admin/core/lib/ReduxFramework/sample/sample-config-legacy.php create mode 100644 admin/templates/dashboard/cache.php create mode 100644 admin/templates/role/sync.php create mode 100644 assets/js/um-scrollto.js diff --git a/admin/assets/css/um-admin-misc.css b/admin/assets/css/um-admin-misc.css index fad537f3..2c720bf8 100644 --- a/admin/assets/css/um-admin-misc.css +++ b/admin/assets/css/um-admin-misc.css @@ -218,7 +218,7 @@ p.disabled-on-off .um-admin-yesno *{ height: 28px; text-align: center; background: #f9f9f9; - z-index: 101; + z-index: 999; border-radius: 3px; cursor: pointer; border: solid 1px #D0D9DB; @@ -255,80 +255,3 @@ p.disabled-on-off .um-admin-yesno *{ border-radius: 0 3px 3px 0; border: 1px solid #ddd; } - -/* - - SelectJS -*/ - -body.um-admin .actions, -body.um-admin .bulkactions { - float: left; - margin: 0!important; - padding:0!important; - top: 0!important; -} - -body.um-admin .actions .button { - height: 29px !important; - margin: 0 12px 0 0 !important; - display: inline !important; - position: relative; -} - -body.um-admin .select2-container {margin-right: 2px!important;} - -body.um-admin .select2-drop, -body.um-admin .select2-drop.select2-drop-above, -body.um-admin .select2-drop-active, -body.um-admin .select2-container-multi .select2-choices -{border: 1px solid #ddd !important} - -body.um-admin .select2-container .select2-choice -{ - height: 27px !important; - line-height: 27px !important; - border: 1px solid #ddd !important; - color: #888 !important; -} - -body.um-admin .select2-container .select2-choice > .select2-chosen { - font-size: 13px !important; -} - -body.um-admin .select2-container .select2-choice { - font-size: 13px !important; -} - -body.um-admin .select2-container .select2-choice .select2-arrow:before { - font-size: 23px !important; - line-height: 27px; -} - -body.um-admin .select2-search-choice-close:before { - font-size: 20px !important; - color: #aaa; - line-height: 27px; -} - -body.um-admin .select2-container-multi .select2-search-choice-close:before { - font-size: 15px !important; -} - -body.um-admin .select2-search input[type=text] { - font-size: 13px !important; -} - -body.um-admin .select2-results li { - font-size: 13px !important; -} - -body.um-admin .select2-results .select2-no-results, -body.um-admin .select2-results .select2-searching, -body.um-admin .select2-results .select2-selection-limit { - font-size: 13px !important; -} - -body.um-admin .select2-container-multi .select2-choices .select2-search-choice { - line-height: 13px !important; - font-size: 13px !important; -} \ No newline at end of file diff --git a/admin/assets/css/um-admin-modal.css b/admin/assets/css/um-admin-modal.css index 93dfbb62..9f970b06 100644 --- a/admin/assets/css/um-admin-modal.css +++ b/admin/assets/css/um-admin-modal.css @@ -9,7 +9,7 @@ position: fixed; top: 0; left: 0; - z-index: 100000; + z-index: 10000; } /* @@ -44,7 +44,7 @@ top: 50% !important; left: 50% !important; display: none; - z-index: 100010; + z-index: 10001; box-sizing: border-box; width: 730px; diff --git a/admin/assets/css/um-admin-redux.css b/admin/assets/css/um-admin-redux.css index 58f3be05..82d95de5 100644 --- a/admin/assets/css/um-admin-redux.css +++ b/admin/assets/css/um-admin-redux.css @@ -71,8 +71,8 @@ font-size: 15px; position: relative; top: -8px; - left: -3px; - padding-left: 4px; + left: -2px; + padding-left: 0; font-weight: 400; line-height: 29px; color: #222 !important; @@ -84,7 +84,7 @@ -moz-osx-font-smoothing: grayscale; font-size: 23px; font-weight: 400; - padding: 2px 15px 4px 0px; + padding: 1px 15px 4px 0px; line-height: 29px; } @@ -179,6 +179,11 @@ color: #333; } +.redux-main #redux-sticky { + margin: 0; + min-height: auto; +} + .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a { background: #3ba1da !important; color: #fff; @@ -211,6 +216,7 @@ .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a { color: #3ba1da !important; background: #e5e5e5 !important; + text-shadow: none !important; } .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after { diff --git a/admin/assets/css/um-admin-select2.css b/admin/assets/css/um-admin-select2.css new file mode 100644 index 00000000..98644868 --- /dev/null +++ b/admin/assets/css/um-admin-select2.css @@ -0,0 +1,84 @@ +body.um-admin .actions, +body.um-admin .bulkactions { + float: left; + margin: 0!important; + padding:0!important; + top: 0!important; +} + +body.um-admin .actions .button { + height: 29px !important; + margin: 0 12px 0 0 !important; + display: inline !important; + position: relative; +} + +body.um-admin .select2-container {margin-right: 2px!important;} + +body.um-admin .select2-drop, +body.um-admin .select2-drop.select2-drop-above, +body.um-admin .select2-drop-active, +body.um-admin .select2-container-multi .select2-choices +{border: 1px solid #ddd !important} + +body.um-admin .select2-container .select2-choice +{ + height: 27px !important; + line-height: 27px !important; + border: 1px solid #ddd !important; + color: #888 !important; +} + +body.um-admin .select2-container .select2-choice > .select2-chosen { + font-size: 13px !important; +} + +body.um-admin .select2-container .select2-choice { + font-size: 13px !important; +} + +body.um-admin .select2-container .select2-choice .select2-arrow:before { + font-size: 23px !important; + line-height: 27px; +} + +body.um-admin .select2-search-choice-close:before { + font-size: 20px !important; + color: #aaa; + line-height: 27px; +} + +body.um-admin .select2-container-multi .select2-search-choice-close:before { + font-size: 15px !important; +} + +body.um-admin .select2-search input[type=text] { + font-size: 13px !important; +} + +body.um-admin .select2-results li { + font-size: 13px !important; +} + +body.um-admin .select2-results .select2-no-results, +body.um-admin .select2-results .select2-searching, +body.um-admin .select2-results .select2-selection-limit { + font-size: 13px !important; +} + +body.um-admin .select2-container-multi .select2-choices .select2-search-choice { + line-height: 13px !important; + font-size: 13px !important; +} + +body.um-admin .select2-drop-mask { + z-index: 10020 !important; +} + +body.um-admin .select2-drop { + z-index: 10030 !important; +} + +body.um-admin .select2-search { + z-index: 10040 !important; +} \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/CHANGELOG.md b/admin/core/lib/ReduxFramework/CHANGELOG.md index ee150256..7970007d 100644 --- a/admin/core/lib/ReduxFramework/CHANGELOG.md +++ b/admin/core/lib/ReduxFramework/CHANGELOG.md @@ -1,4 +1,200 @@ -# Redux Framework Changelog + # Redux Framework Changelog + +## 3.5.4.3 +* Fixed: #2258 - welcome redirect error with embedding plugin scenarios. +* Fixed: Redux plugin load order when activating plugins. + +## 3.5.4.2 +* Fixed: #2271 - stuck redirect on godaddy (seriously, get a real host, people) servers. + +## 3.5.4.1 +* Fixed: #2216 - Reset section not always working within FF. + +## 3.5.4 +* Modified: update_notice arg only truly shows up if dev_mode is on. + +## 3.5.3.3 +* Added: Tooltip to developer mode badge, for informational purposes. +* Modified: Added css_layout ext to default value filter, to avoid errors. + +## 3.5.3.2 +* Fixed: #2239 - Various extensions didn't support default values for default arg. Filtered out offending extensions. + +## 3.5.3.1 +* Fixed: WP.org ONLY SVN mixup. + +## 3.5.3 +* Fixed: #2228 - Submenu items still visible if permissions not allowed. +* Fixed: Import/Export showing up in customizer. +* Modified: Admin-fresh theme to match new WordPress 4.2 +* Modified: Redux widget now has a proper ID. Thanks @corradomatt! +* Modified: Added text-shadow to submenu items to give a stronger "pop" +* Modified: Page_slug now dynamically generated if not specified. + +## 3.5.2.2 +* Modified: Admin blast message pinging server on each load after three day expiration. Possible slow down of the overall panel loading time. + +## 3.5.2.1 +* Fixed: #2221 - Background field media not enqueueing when used with no other media based fields. + +## 3.5.2 +* Fixed: #2214: Bad path for import/export enqueue. +* Release: Wp.org release. + +## 3.5.1 +* Release: Wp.org release. + +## 3.5.0.7 +* Modified: Redux News dashboard widget appears only when dev_mode is true or in a local host environment. + +## 3.5.0.6 +* Fixed #2127 - Elusive icons not working in footer as before. +* Fixed Issue where Status tab not showing extension versions properly. +* Fixed Issue in support URL not passing data correctly. + +## 3.5.0.5 +* Fixed Support URLs now work even if max_input_vars is way low in PHP 5.3+ + +## 3.5.0.4 +* Fixed #2197 - Import/export not loading proper for those who have opted to install Wordpress in ways it was never intended. + +## 3.5.0.3 +* Fixed: 'Generate Support URL' feature kicking back error. + +## 3.5.0.2 +* Fixed Sortable checkbox labels not displaying properly. +* Fixed Sortable textbox not displaying default value as placeholder. +* Updated: sample-config with accurate example for both sortable modes. + +## 3.5.0.1 +* Fixed #2181 - Fixed issue with Ajax Save when PHP 5.3 Magic Quotes were disabled. + +## 3.5.0 OFFICIAL RELEASE + Various fixes and improvements for release. + +## 3.4.4.9.4 +* Fixed: #2181 - Issue with PHP < 5.4 and the Ace Editor field. Oy. + +## 3.4.4.9.3 +* Fixed: #2163 - Undefined error in JS. + +## 3.4.4.9.2 +* Fixed: #2176 - Infinite loop in the customizer for live preview of themes. + +## 3.4.4.9.1 +* Fixed: Support page now works. +* Fixed: Fix for MySQL deprecated functions in php 5.5+. + +## 3.4.4.9 +* Added: Dynamic admin messages (aka Newsflash). Dismissable admin messages announcing breaking Redux news. + Messages will not appear for users when dev_mode is set to `false`. However, messages remain active + on localhosts, so devs may benefit. + +## 3.4.4.8 +* Fixed: #2155 - Fixed import with ajax_save. +* Fixed: Changelog now uses raw field parsedown if present. + +## 3.4.4.7 +* Added: Redux Framework News Widget on the WP Dashboard. + +## 3.4.4.6 +* Fixed: #2156: `label` argument not recognized when using sortable as textbox. + +## 3.4.4.5 +* Fixed: #2140 Another PHP 5.2 issue with ajax_save. +* Modified: Opt groups for select field now working in customizer even if not supported. + +## 3.4.4.4 +* Added: `full_width` arg now makes ANY field full-width. :) + +## 3.4.4.3 +* Fixed: #2133 - Ajax save adding extra backspashes in PHP 5.2 only (They didn't use array map properly). +* Fixed: Customizer wasn't working. Thanks @sgssandhu! + +## 3.4.4.2 +* Fixed: #2125 - Compiler not firing on first save, when using ajax_save. + +## 3.4.4.1 +* Fixed: #2118 - Typography JS error. + +## 3.4.4 +* Fixed: Odd typography bug no one has reported. +* Modified: Sticky header and footer to remain within the redux-main container. + +## 3.4.3.9 +* Fixed #2097 - Slash fix for ajax_save that was previously believed to be an isolated issue. Now applied on all ajax saves. + +## 3.4.3.8 +* Fixed: #2086 - color_rgba improperly functioning when transparent mode set to false. + +## 3.4.3.7 +* Fixed Import/Export bug where it wasn't running. +* Modified Locations of the core extensions directory as well as grunt configuration. + +## 3.4.3.6 +* Fixed #2047 - Validation will now accept 0 as a value to be tested. Thanks @Ninos! +* Added url_slug validation with option flush_permalinks! +* Fixed Issue where the remove of background field was always showing an empty preview box. +* Modified Turned ajax_save on by default for additional bug reports. ;) +* Modified Added some margin above validation errors/warnings so they look better. +* Modified Removed previous element border for any section so it looks better. + +## 3.4.3.5 +* Fixed #2081 - Section field hiding any field after. Weird. + +## 3.4.3.4 +* Added #2047 - `output_transparent` argument to output the blank color feature as 'transparent'. +* Fixed #2080 - missing 'rem' unit and inability to process float values. Thanks to @HELWATANY for the fixes! +* Fixed #2043 - misaligned images in image_select field. + +## 3.4.3.3 +* Added: #2064 - Merge argument for image_select. Thanks @Ninos +* Modified: Import/Export is now an extensiona and decoupled from the core. +* Fixed: Spinner had a nasty number bug, now resolved. +* Fixed: #2076 - RTL bug with old ID's. Thanks @mahfoozroy. +* Fixed: #2072 - Ajax_save editor type bug fix. + +## 3.4.3.2 +* Fixed: #2058 - Incorrect path in include statement for sysinfo.php + +## 3.4.3.1 +* Modified: Templates now have versioning with a warning (dev_mode only) if they are outdated from the core templates. + +## 3.4.3 +* Modified: Ajax saving now has overlay during save to avoid confusion for users. + +## 3.4.2.9 +* Modified: Template files even more for simplicity and ease. +* Modified: Saving. Redux now has the ajax_save argument if you want it! +* Modified: Validation warnings now work. + +## 3.4.2.8 +* Fixed: Changed set_transient function to public to avoid errors in new templating code. + +## 3.4.2.7 +* Modified: Entire panel template is now decoupled from the theme and implemented with many filters for easy customization. + +## 3.4.2.6 +* Fixed: #1478 - Import/export failing when two instances if Redux in use. Thanks, @desaiuditd! +* Fixed: Section field not indenting properly, if at all. + +## 3.4.2.5 +* Added: #2031 - Proper CSS sanitization for compliancy with WP.org. + +## 3.4.2.4 +* Fixed: #2027 - added isset() + +## 3.4.2.3 +* Fixed: #2019 - Reset issues with PHP 5.2. Thanks a bunch, @Webcreations907! + +## 3.4.2.2 +* Fixed: #2023: Issue with custom submenus in menu. + +## 3.4.2.1 +* Fixed: #2025: Issue with select sorting. + +## 3.4.2 +* Update: ACE Editor. Thanks @corradomatt. ## 3.4.1 * Fixed: Small filesystem option with bad filter key reference. diff --git a/admin/core/lib/ReduxFramework/Gruntfile.js b/admin/core/lib/ReduxFramework/Gruntfile.js index 39dbd49c..161a3212 100644 --- a/admin/core/lib/ReduxFramework/Gruntfile.js +++ b/admin/core/lib/ReduxFramework/Gruntfile.js @@ -56,15 +56,28 @@ module.exports = function( grunt ) { }, uglify: { fields: { - files: [{ - expand: true, - cwd: 'ReduxCore/inc/fields', - src: ['**/*.js', '!**/*.min.js', '!ace_editor/vendor/*.js', '!ace_editor/vendor/snippets/*.js', '!slider/vendor/nouislider/*.*', '!spinner/vendor/*.*'], - ext: '.min.js', - dest: 'ReduxCore/inc/fields' - }] + files: [ + { + expand: true, + cwd: 'ReduxCore/inc/fields', + src: ['**/*.js', '!**/*.min.js', '!ace_editor/vendor/*.js', '!ace_editor/vendor/snippets/*.js', '!slider/vendor/nouislider/*.*', '!spinner/vendor/*.*'], + ext: '.min.js', + dest: 'ReduxCore/inc/fields' + } + ] }, - core:{ + extensions: { + files: [ + { + expand: true, + cwd: 'ReduxCore/inc/extensions', + src: ['**/*.js', '!**/*.min.js'], + ext: '.min.js', + dest: 'ReduxCore/inc/extensions' + } + ] + }, + core: { files: { 'ReduxCore/assets/js/redux.min.js': [ 'ReduxCore/assets/js/redux.min.js' @@ -75,23 +88,11 @@ module.exports = function( grunt ) { 'ReduxCore/assets/js/vendor/redux.select2.sortable.min.js': [ 'ReduxCore/assets/js/vendor/redux.select2.sortable.js' ], - 'ReduxCore/assets/js/import_export/import_export.min.js': [ - 'ReduxCore/assets/js/import_export/import_export.js' - ], 'ReduxCore/assets/js/media/media.min.js': [ 'ReduxCore/assets/js/media/media.js' - ], + ] } - - }, - extensions: { - files: [{ - expand: true, - cwd: 'ReduxCore/extensions', - src: '**/*.js', - ext: '.min.js', - dest: 'ReduxCore/extensions' - }] + }, vendor: { files: { @@ -127,6 +128,7 @@ module.exports = function( grunt ) { 'ReduxCore/inc/fields/gallery/field_gallery.js', 'ReduxCore/inc/fields/image_select/field_image_select.js', 'ReduxCore/inc/fields/multi_text/field_multitext.js', + 'ReduxCore/inc/fields/palette/field_palette.js', 'ReduxCore/inc/fields/select/field_select.js', 'ReduxCore/inc/fields/select_image/field_select_image.js', 'ReduxCore/inc/fields/slider/field_slider.js', @@ -137,9 +139,9 @@ module.exports = function( grunt ) { 'ReduxCore/inc/fields/spinner/field_spinner.js', 'ReduxCore/inc/fields/switch/field_switch.js', 'ReduxCore/inc/fields/typography/field_typography.js', - // 'ReduxCore/inc/fields/**/*.js', - // 'ReduxCore/extensions/**/*.js', + 'ReduxCore/extensions/**/*.js', + 'ReduxCore/extensions/**/**/*.js', 'ReduxCore/assets/js/redux.js' ] }, @@ -180,8 +182,7 @@ module.exports = function( grunt ) { type: 'wp-plugin', domainPath: 'ReduxCore/languages', potFilename: 'redux-framework.pot', - include: [ - ], + include: [], exclude: [ 'sample/.*' ], @@ -196,7 +197,7 @@ module.exports = function( grunt ) { // Check textdomain errors. checktextdomain: { - options:{ + options: { keywords: [ '__:1,2d', '_e:1,2d', @@ -283,7 +284,7 @@ module.exports = function( grunt ) { sass: { fields: { options: { - //sourcemap: 'none', + sourcemap: 'none', style: 'compressed', noCache: true, }, @@ -296,48 +297,72 @@ module.exports = function( grunt ) { ext: '.css' // Dest filepaths will have this extension. }] }, + extensions: { + options: { + sourcemap: 'none', + style: 'compressed', + noCache: true, + }, + files: [{ + expand: true, // Enable dynamic expansion. + cwd: 'ReduxCore/inc/extensions', // Src matches are relative to this path. + src: ['**/*.scss'], // Actual pattern(s) to match. + dest: 'ReduxCore/inc/extensions', // Destination path prefix. + ext: '.css' // Dest filepaths will have this extension. + }] + }, vendor: { options: { - //sourcemap: 'none', + sourcemap: 'none', style: 'compressed', noCache: true }, files: { - "ReduxCore/assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css":[ + "ReduxCore/assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css": [ "ReduxCore/assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.scss" ], - "ReduxCore/assets/css/vendor/elusive-icons/elusive-webfont.css":[ - "ReduxCore/assets/css/vendor/elusive-icons/sass/elusive-webfont.scss" - ], + "ReduxCore/assets/css/vendor/elusive-icons/elusive-icons.css": [ + "ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.scss" + ], } }, admin: { options: { - //sourcemap: 'none', + sourcemap: 'none', style: 'compressed', noCache: true }, files: { - "ReduxCore/assets/css/color-picker/color-picker.css":[ + "ReduxCore/assets/css/color-picker/color-picker.css": [ "ReduxCore/assets/css/color-picker/color-picker.scss" ], - "ReduxCore/assets/css/media/media.css":[ + "ReduxCore/assets/css/media/media.css": [ "ReduxCore/assets/css/media/media.scss" ], - "ReduxCore/assets/css/import_export/import_export.css":[ - "ReduxCore/assets/css/import_export/import_export.scss" - ], - "ReduxCore/assets/css/redux-admin.css": [ + "ReduxCore/assets/css/redux-admin.css": [ "ReduxCore/assets/css/redux-admin.scss" ], - "ReduxCore/assets/css/rtl.css":[ + "ReduxCore/assets/css/rtl.css": [ "ReduxCore/assets/css/rtl.scss" ] } + }, + welcome: { + options: { + sourcemap: 'none', + style: 'compressed', + noCache: true + }, + + files: { + "ReduxCore/inc/welcome/css/redux-welcome.css": [ + "ReduxCore/inc/welcome/css/redux-welcome.scss" + ] + } } }, @@ -347,8 +372,7 @@ module.exports = function( grunt ) { 'ReduxCore/assets/css/redux-fields.css': [ 'ReduxCore/inc/fields/**/*.css', "ReduxCore/assets/css/color-picker/color-picker.css", - "ReduxCore/assets/css/media/media.css", - "ReduxCore/assets/css/import_export/import_export.css" + "ReduxCore/assets/css/media/media.css" ] } }, @@ -362,10 +386,10 @@ module.exports = function( grunt ) { grunt.loadNpmTasks( 'grunt-wp-i18n' ); grunt.loadNpmTasks( 'grunt-checktextdomain' ); grunt.loadNpmTasks( 'grunt-contrib-jshint' ); - grunt.loadNpmTasks('grunt-contrib-sass'); + grunt.loadNpmTasks( 'grunt-contrib-sass' ); grunt.loadNpmTasks( 'grunt-contrib-uglify' ); grunt.loadNpmTasks( 'grunt-contrib-watch' ); - grunt.loadNpmTasks('grunt-contrib-cssmin'); + grunt.loadNpmTasks( 'grunt-contrib-cssmin' ); grunt.loadNpmTasks( 'grunt-contrib-concat' ); grunt.loadNpmTasks( 'grunt-phpdocumentor' ); grunt.loadNpmTasks( 'grunt-gh-pages' ); @@ -384,14 +408,16 @@ module.exports = function( grunt ) { // Default task(s). grunt.registerTask( 'default', [ - 'jshint', - 'concat:core', - 'uglify:core', - 'concat:vendor', - 'uglify:vendor', + 'jshint', + 'concat:core', + 'uglify:core', + 'concat:vendor', + 'uglify:vendor', 'uglify:fields', - "sass:admin", + 'uglify:extensions', + "sass:admin", "sass:fields", + "sass:extensions", "sass:vendor", 'cssmin' ] @@ -405,8 +431,11 @@ module.exports = function( grunt ) { grunt.registerTask( 'watchPHP', ['watch:php', 'phplint:core', 'phplint:plugin'] ); grunt.registerTask( "lintPHP", ["phplint:plugin", "phplint:core"] ); - grunt.registerTask( "compileSCSS", ["sass:admin", "sass:fields", "sass:vendor"] ); - grunt.registerTask( 'compileJS', ['jshint', 'concat:core', 'uglify:core', 'concat:vendor', 'uglify:vendor', 'uglify:fields'] ); + grunt.registerTask( "compileSCSS", ["sass:admin", "sass:fields", "sass:extensions", "sass:vendor", "sass:welcome"] ); + grunt.registerTask( + 'compileJS', + ['jshint', 'concat:core', 'uglify:core', 'concat:vendor', 'uglify:vendor', 'uglify:fields', 'uglify:extensions'] + ); grunt.registerTask( 'compileTestJS', ['jshint', 'concat:core', 'concat:vendor'] ); grunt.registerTask( 'compileCSS', ['cssmin'] ); }; \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/README.md b/admin/core/lib/ReduxFramework/README.md index 23318f51..e805754f 100644 --- a/admin/core/lib/ReduxFramework/README.md +++ b/admin/core/lib/ReduxFramework/README.md @@ -1,4 +1,4 @@ -## Redux Options Framework [![Build Status](https://travis-ci.org/ReduxFramework/redux-framework.png?branch=master)](https://travis-ci.org/ReduxFramework/redux-framework) [![Stories in Ready](https://badge.waffle.io/ReduxFramework/redux-framework.png?label=ready)](https://waffle.io/ReduxFramework/redux-framework) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/) +## Redux Options Framework [![Build Status](https://travis-ci.org/reduxframework/redux-framework.png?branch=master)](https://travis-ci.org/ReduxFramework/redux-framework) [![Stories in Ready](https://badge.waffle.io/ReduxFramework/redux-framework.png?label=ready)](https://waffle.io/ReduxFramework/redux-framework) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.png)](http://gruntjs.com/) WordPress options framework which uses the [WordPress Settings API](http://codex.wordpress.org/Settings_API "WordPress Settings API"), Custom Error/Validation Handling, Custom Field/Validation Types, and import/export functionality. @@ -81,4 +81,4 @@ Send us an email at info@reduxframework.com so we can add you to our showcase! ## Changelog ## -See [Changelog.md](https://github.com/ReduxFramework/redux-framework/blob/master/CHANGELOG.md) \ No newline at end of file +See [Changelog.md](https://github.com/ReduxFramework/redux-framework/blob/master/CHANGELOG.md) diff --git a/admin/core/lib/ReduxFramework/README.txt b/admin/core/lib/ReduxFramework/README.txt index ee77464a..3865c521 100644 --- a/admin/core/lib/ReduxFramework/README.txt +++ b/admin/core/lib/ReduxFramework/README.txt @@ -1,10 +1,10 @@ === Redux Framework === -Contributors: dovyp, kprovance, section214 +Contributors: dovyp, kprovance Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=N5AD7TSH8YA5U Tags: admin, admin interface, options, theme options, plugin options, options framework, settings, web fonts, google fonts Requires at least: 3.5.1 Tested up to: 4.2 -Stable tag: 3.4.1 +Stable tag: 3.5.4.3 License: GPLv3 or later License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -12,7 +12,7 @@ Redux is a simple, truly extensible and fully responsive options framework for W == Description == -Redux is a simple, truly extensible and fully responsive options framework for WordPress themes and plugins. Built on the WordPress Settings API, Redux supports a multitude of field types as well as custom error handling, custom field & validation types, and import/export functionality. +Redux is a simple, truly extensible and fully responsive options framework for WordPress themes and plugins. Built on the WordPress Settings API, Redux supports a multitude of field types as well as: custom error handling, custom fields & validation types, and import/export functionality. But what does Redux actually DO? We don't believe that theme and plugin developers should have to reinvent the wheel every time they start work on a @@ -24,22 +24,22 @@ it would take to build from the ground up! = Online Demo = Don't take our word for it, check out our online demo and try Redux without installing a thing! -[**http://demo.reduxframework.com/wp-admin/**](http://demo.reduxframework.com/wp-admin/) +[**http://demo.redux.io/**](http://demo.redux.io/) -= Use Our Custom Generator to Get Started = -Want to use Redux, but not sure what to do? Use our [generator](http://generate.reduxframework.com/)! It will allow you to make += Use the Redux Builder to Get Started = +Want to use Redux, but not sure what to do? Use our [builder](http://build.reduxframework.com/)! It will allow you to make a custom theme based on [_s](http://underscores.me), [TGM](http://tgmpluginactivation.com), and [Redux](http://reduxframework.com), and any Redux arguments you want to set. Don't want to make your own theme? Then output a custom admin folder that you can place in a theme or plugin. Oh and did we mention it's free? Try it today at: -[**http://generate.reduxframework.com/**](http://generate.reduxframework.com/) +[**http://build.reduxframework.com/**](http://build.reduxframework.com/) = Docs & Support = -We have extremely extensive docs. Please visit [http://docs.reduxframework.com/](http://docs.reduxframework.com/) If that doesn’t solve your concern, you should search [the issue tracker on Github](https://github.com/ReduxFramework/ReduxFramework/issues). If you can't locate any topics that pertain to your particular issue, [post a new issue](https://github.com/ReduxFramework/ReduxFramework/issues/new) for it. Before you submit an issue, please read [our contributing requirements](https://github.com/redux-framework/redux-framework/blob/master/CONTRIBUTING.md). We build off of the dev version and push to WordPress.org when all is confirmed stable and ready for release. +We have extremely extensive docs. Please visit [http://docs.reduxframework.com/](http://docs.reduxframework.com/) If that doesn’t solve your concern, you should search [the issue tracker on Github](https://github.com/reduxframework/redux-framework/issues). If you can't locate any topics that pertain to your particular issue, [post a new issue](https://github.com/reduxframework/redux-framework/issues/new) for it. Before you submit an issue, please read [our contributing requirements](https://github.com/redux-framework/redux-framework/blob/master/CONTRIBUTING.md). We build off of the dev version and push to WordPress.org when all is confirmed stable and ready for release. = Redux Framework Needs Your Support = -It is hard to continue development and support for this free plugin without contributions from users like you. If you enjoy using Redux Framework, and find it useful, please consider [making a donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=N5AD7TSH8YA5U). Your donation will help encourage and support the plugin's continued development and better user support. +It is hard to continue development and support for this free plugin without contributions from users like you. If you enjoy using Redux Framework, and find it useful, please consider [making a donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MMFMHWUPKHKPW). Your donation will help encourage and support the plugin's continued development and better user support. = Fields Types = @@ -83,7 +83,7 @@ It is hard to continue development and support for this free plugin without cont * Field Validation * MANY translations. (See below) -* Full value escaping +* Full value escaping. * Required - Link visibility from parent fields. Set this to affect the visibility of the field on the parent's value. Fully nested with multiple required parents possible. * Output CSS Automatically - Redux generates CSS and the appropriate Google Fonts stylesheets for you on select fields. You need only specify the CSS selector to apply the CSS to (limited to certain fields). * Compiler integration! A custom hook runs when any fields with the argument `compile => true` are changed. @@ -95,7 +95,7 @@ We need your help to translate Redux into your language! Redux is part of the WP = Get Involved = Redux is an ever-changing, living system. Want to stay up to date or -contribute? Subscribe to one of our mailing lists or join us on [Twitter](https://twitter.com/reduxframework) or [Github](https://github.com/ReduxFramework/ReduxFramework)! +contribute? Subscribe to one of our mailing lists or join us on [Facebook](https://facebook.com/reduxframework) or [Twitter](https://twitter.com/reduxframework) or [Github](https://github.com/ReduxFramework/ReduxFramework)! NOTE: Redux is not intended to be used on its own. It requires a config file provided by a third-party theme or plugin developer to actual do anything @@ -125,11 +125,113 @@ That's because the real FAQ section is on our site! Please visit [http://docs.re == Changelog == -# 3.4.1 += 3.5.4.3 = +Fixed: #2258 - welcome redirect error with embedding plugin scenarios. +Fixed: Redux plugin load order when activating plugins. +Fixed: #2271 - stuck redirect on godaddy (seriously, get a real host, people) servers. +Fixed: #2216 - Reset section not always working within FF. + += 3.5.4 = +* Modified: update_notice arg only truly shows up if dev_mode is on. +* Added: Tooltip to developer mode badge, for informational purposes. +* Modified: Added css_layout ext to default value filter, to avoid errors. +* Fixed: #2239 - Various extensions didn't support default values for default arg. Filtered out offending extensions. + += 3.5.3.1 = +* Fixed: WP.org ONLY SVN mixup. + += 3.5.3 = +* Fixed: #2228 - Submenu items still visible if permissions not allowed. +* Fixed: Import/Export showing up in customizer. +* Modified: Admin-fresh theme to match new WordPress 4.2 +* Modified: Redux widget now has a proper ID. Thanks @corradomatt! +* Modified: Added text-shadow to submenu items to give a stronger "pop" +* Modified: Page_slug now dynamically generated if not specified. +* Modified: Admin blast message pinging server on each load after three day expiration. Possible slow down of the overall panel loading time. +* Fixed: #2221 - Background field media not enqueueing when used with no other media based fields. +* Fixed: #2214: Bad path for import/export enqueue. +* Release: Wp.org release. +* Fixed: #2214 - Import/export field contained bad enqueue path. +* Modified: If running localhost or WP_DEBUG is set to true, Redux dev_mode is forced to true. +* Modified: Page_slug now dynamically generated if not specified. + += 3.5.1 = +* Modified: Redux News dashboard widget appears only when dev_mode is true or in a local host environment. +* Fixed #2127 - Elusive icons not working in footer as before. +* Fixed Issue where Status tab not showing extension versions properly. +* Fixed Issue in support URL not passing data correctly. +* Fixed Support URLs now work even if max_input_vars is way low in PHP 5.3+ +* Fixed #2197 - Import/export not loading proper for those who have opted to install Wordpress in ways it was never intended. +* Fixed: 'Generate Support URL' feature kicking back error. +* Fixed Sortable checkbox labels not displaying properly. +* Fixed Sortable textbox not displaying default value as placeholder. +* Updated: sample-config with accurate example for both sortable modes. +* Fixed #2181 - Fixed issue with Ajax Save when PHP 5.3 Magic Quotes were disabled. +* Fixed: #2181 - Lingering issue with Ajax Save and PHP Magic Quotes. + += 3.5.0 = +* Fixed: #2181 - Issue with PHP < 5.4 and the Ace Editor field. Oy. +* Fixed: #2163 - Undefined error in JS. +* Fixed: #2176 - Infinite loop in the customizer for live preview of themes. +* Fixed: Support page now works. +* Fixed: Fix for MySQL deprecated functions in php 5.5+. +* Added: Dynamic admin messages (aka Newsflash). Dismissable admin messages announcing breaking Redux news. + Messages will not appear for users when dev_mode is set to `false`. However, messages remain active + on localhosts, so devs may benefit. +* Fixed: #2155 - Fixed import with ajax_save. +* Fixed: Changelog now uses raw field parsedown if present. +* Added: Redux Framework News Widget on the WP Dashboard. +* Fixed: #2156: `label` argument not recognized when using sortable as textbox. +* Fixed: #2140 Another PHP 5.2 issue with ajax_save. +* Modified: Opt groups for select field now working in customizer even if not supported. +* Added: `full_width` arg now makes ANY field full-width. :) +* Fixed: #2133 - Ajax save adding extra backspashes in PHP 5.2 only (They didn't use array map properly). +* Fixed: Customizer wasn't working. Thanks @sgssandhu! +* Fixed: #2125 - Compiler not firing on first save, when using ajax_save. +* Fixed: #2118 - Typography JS error. +* Fixed: Odd typography bug no one has reported. +* Modified: Sticky header and footer to remain within the redux-main container. +* Fixed #2097 - Slash fix for ajax_save that was previously believed to be an isolated issue. Now applied on all ajax saves. +* Fixed: #2086 - color_rgba improperly functioning when transparent mode set to false. +* Fixed Import/Export bug where it wasn't running. +* Modified Locations of the core extensions directory as well as grunt configuration. +* Fixed #2047 - Validation will now accept 0 as a value to be tested. Thanks @Ninos! +* Added url_slug validation with option flush_permalinks! +* Fixed Issue where the remove of background field was always showing an empty preview box. +* Modified Turned ajax_save on by default for additional bug reports. ;) +* Modified Added some margin above validation errors/warnings so they look better. +* Modified Removed previous element border for any section so it looks better. +* Fixed #2081 - Section field hiding any field after. Weird. +* Added #2047 - `output_transparent` argument to output the blank color feature as 'transparent'. +* Fixed #2080 - missing 'rem' unit and inability to process float values. Thanks to @HELWATANY for the fixes! +* Fixed #2043 - misaligned images in image_select field. +* Added: #2064 - Merge argument for image_select. Thanks @Ninos +* Modified: Import/Export is now an extensiona and decoupled from the core. +* Fixed: Spinner had a nasty number bug, now resolved. +* Fixed: #2076 - RTL bug with old ID's. Thanks @mahfoozroy. +* Fixed: #2072 - Ajax_save editor type bug fix. +* Fixed: #2058 - Incorrect path in include statement for sysinfo.php +* Modified: Templates now have versioning with a warning (dev_mode only) if they are outdated from the core templates. +* Modified: Ajax saving now has overlay during save to avoid confusion for users. +* Modified: Template files even more for simplicity and ease. +* Modified: Saving. Redux now has the ajax_save argument if you want it! +* Modified: Validation warnings now work. +* Fixed: Changed set_transient function to public to avoid errors in new templating code. +* Modified: Entire panel template is now decoupled from the theme and implemented with many filters for easy customization. +* Fixed: #1478 - Import/export failing when two instances if Redux in use. Thanks, @desaiuditd! +* Fixed: Section field not indenting properly, if at all. +* Added: #2031 - Proper CSS sanitization for compliancy with WP.org. +* Fixed: #2027 - added isset() +* Fixed: #2019 - Reset issues with PHP 5.2. Thanks a bunch, @Webcreations907! +* Fixed: #2023: Issue with custom submenus in menu. +* Fixed: #2025: Issue with select sorting. +* Update: ACE Editor. Thanks @corradomatt. + += 3.4.1 = * Fixed: Small filesystem option with bad filter key reference.. * Added: Small return if $section filter returned the section empty. -# 3.4.0 += 3.4.0 = * Fixed: Reset section hook firing too early. * Modified: The Redux Repeater field has landed! * Fixed: #1983 - color_rgba not outputting default values on first load (before save). @@ -187,7 +289,7 @@ That's because the real FAQ section is on our site! Please visit [http://docs.re * Added: #1803 - Optgroup support for select field. * Added: Decimal increments to spinner. -## 3.3.9.4 += 3.3.9.4 = * Added: Customizer now supports PANEL! Yay 4.0. * Fixed: #1789 - Customizer now properly working again with WP 4.0. Odd bug. diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.css b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.css index 63b67df2..ab7be70f 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.css +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.css @@ -1 +1 @@ -.redux-main input.redux-color{float:left;width:70px;margin-left:5px}.redux-main input.color-transparency{margin-left:10px;margin-right:3px}.redux-main input.wp-color-picker{width:80px}.redux-main .section-color .controls{width:345px}.redux-main .section-color .explain{width:225px}.redux-main .iris-picker .iris-strip .ui-slider-handle{position:absolute;background:none !important;right:-3px;left:-3px;border:4px solid #aaa !important;border-width:4px 3px;width:auto;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,0.2);opacity:.9;z-index:5;cursor:ns-resize}.redux-main .iris-picker .iris-slider-offset{position:absolute;top:2px;left:0;right:0;bottom:4px;width:28px;background:none !important;border:0 !important;height:auto}.redux-main .wp-picker-container input{margin-bottom:inherit;margin-top:inherit;padding:2px}.redux-main .wp-picker-container .wp-color-result{outline:0;margin:0}.redux-main .wp-picker-container .wp-picker-default{padding:0 10px 1px}.redux-main .redux-color-gradient{line-height:24px}.redux-main .color-transparency-check{line-height:1;margin-top:0px !important}.redux-main .wp-picker-clear{margin-top:0 !important} +.redux-main input.redux-color{float:left;width:70px;margin-left:5px}.redux-main input.color-transparency{margin-left:10px;margin-right:3px}.redux-main input.wp-color-picker{width:80px !important}.redux-main .section-color .controls{width:345px}.redux-main .section-color .explain{width:225px}.redux-main .iris-picker .iris-strip .ui-slider-handle{position:absolute;background:none !important;right:-3px;left:-3px;border:4px solid #aaa !important;border-width:4px 3px;width:auto;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,0.2);opacity:.9;z-index:5;cursor:ns-resize}.redux-main .iris-picker .iris-slider-offset{position:absolute;top:2px;left:0;right:0;bottom:4px;width:28px;background:none !important;border:0 !important;height:auto}.redux-main .wp-picker-container input{margin-bottom:inherit;margin-top:inherit;padding:3px 5px}.redux-main .wp-picker-container .wp-color-result{outline:0;margin:0}.redux-main .wp-picker-container .wp-picker-default{padding:0 10px 1px}.redux-main .redux-color-gradient{line-height:24px}.redux-main .color-transparency-check{line-height:1;margin-top:0px !important}.redux-main .wp-picker-clear{margin-top:0 !important} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.scss index cc349216..9fbef57e 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.scss +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/color-picker/color-picker.scss @@ -12,7 +12,7 @@ } &.wp-color-picker { - width: 80px; + width: 80px !important; } } @@ -59,7 +59,7 @@ input { margin-bottom: inherit; margin-top: inherit; - padding: 2px; + padding: 3px 5px; } .wp-color-result { diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.css b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.css index e3386d6b..e7185e2c 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.css +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.css @@ -1 +1 @@ -.redux-main .description{margin-top:7px}.form-table>tbody>tr>th{width:30%}.redux-container{background-color:#f5f5f5;background-repeat:repeat-x;background-image:-moz-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f2f2f2), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);background-image:-ms-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);border:1px solid #dedede;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04);-moz-box-shadow:0 1px 5px rgba(0,0,0,0.4);margin-top:5px;overflow:hidden}.redux-container a:focus{box-shadow:none}.redux-container .hr{height:20px;line-height:20px;float:none;border-color:#E7E7E7;display:block;width:100%;height:35px !important;line-height:35px !important;position:relative;margin:15px 0 10px 0}.redux-container .hr .inner span{background-color:#FCFCFC;border-color:#E7E7E7;height:5px;width:5px;border-width:2px;border-style:solid;display:block;position:absolute;left:50%;margin-left:-5px;margin-top:-5px}.redux-container .inner{width:42% !important;left:40% !important;margin-left:-6%;background-color:#FCFCFC;border-color:#E7E7E7;position:absolute;height:1px;top:50%;width:100%;margin-top:-1px;border-top-width:1px;border-top-style:solid}.redux-container #redux-header,.redux-container #redux-footer{text-align:right;padding:6px 10px}.redux-container #redux-header{background:#f1f1f1;border-bottom:3px solid blue}.redux-container #redux-header .display_header{float:left;margin:20px 10px}.redux-container #redux-header .display_header h2{display:inline-block;font-style:normal;padding-right:5px}.redux-container #redux-header .display_header span{color:#888}.redux-container #redux-header .icon32{float:right;margin:16px 16px 0}.redux-container #redux-footer{border-top:1px solid #E7E7E7;z-index:999}.redux-container #redux-footer #redux-share{float:left;line-height:28px;font-size:15px}.redux-container #redux-footer #redux-share a{text-decoration:none;margin-right:10px}.redux-container #redux-footer #redux-share a img{margin-bottom:-3px}.redux-container .notice-green{margin:0;border-bottom:1px solid #E7E7E7;background-color:#DFF0D8;color:#468847;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .notice-blue{margin:0;border-bottom:1px solid #BCE8F1;background-color:#D9EDF7;color:#3A87AD;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .notice-yellow{margin:0;border-bottom:1px solid #E7E7E7;background-color:#FCF8E3;color:#C09853;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .notice-red,.redux-container .redux-field-errors{margin:0;border-bottom:1px solid #E7E7E7;background-color:#F2DEDE;color:#B94A48;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .redux-field-errors,.redux-container .redux-field-warnings,.redux-container .redux-save-warn{display:none}.redux-container .sticky-save-warn{min-height:76px}.redux-container .sticky-save-warn .redux-save-warn{position:fixed;top:32px;right:21px;left:183px;opacity:1;z-index:9999}.redux-container #info_bar{background:#f3f3f3;border-bottom:1px solid #dedede;padding:6px 10px 6px 6px;text-align:right;-moz-box-shadow:inset 0 1px 0 #fcfcfc;-webkit-box-shadow:inset 0 1px 0 #fcfcfc;box-shadow:inset 0 1px 0 #fcfcfc}.redux-container .redux-group-tab{display:none;margin-bottom:30px}.redux-container .redux-group-tab .redux-theme-data{padding:20px 0;border-top:1px solid #E7E7E7}.redux-container .redux-group-tab .redux-theme-data.theme-description{padding:10px 0;border-width:0}.redux-container .redux-group-tab .redux-theme-data.theme-uri,.redux-container .redux-group-tab .redux-theme-data.theme-author,.redux-container .redux-group-tab .redux-theme-data.theme-version{padding:0;border-width:0}.redux-container .redux-group-tab h3{margin-top:0;line-height:2em;border-bottom:1px solid #E7E7E7}.redux-container .redux-group-tab .redux-section-desc{margin-bottom:15px;color:#666}.redux-container .redux-action_bar{float:right}.redux-container .redux-ajax-loading{display:none;background:red url(data:image/gif;base64,R0lGODlhEAAQAPUAAIiIiIqKio2NjZSUlJqamp6enqKioqSkpK+vr7i4uL+/v8PDw8XFxcnJyc/Pz9HR0dTU1NjY2Nzc3OLi4ubm5unp6ezs7PPz88vLy83NzdDQ0NXV1d3d3eHh4bu7u8zMzOvr6+3t7ZiYmNbW1sDAwMTExNra2s7OztPT09vb2+Xl5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/i1NYWRlIGJ5IEtyYXNpbWlyYSBOZWpjaGV2YSAod3d3LmxvYWRpbmZvLm5ldCkAIfkEAAoA/wAsAAAAABAAEAAABXDgJY6XZZEoOTnOlI5WdUFNA5UnSR3FJNUSieFAIUUEgcdl4noEBBGSZaHIiSqKhTX2GhVFiQGjuxgkSoYAoosAGE6RhKQrUURHlS+pItMVCHMjEgQ9JBJISg+JT3ciFg4NFkcCNw0OViiDgF0oTC8hACH5BAAKAP8ALAAAAAAQABAAAAVx4CWOZGle1qJYp2hV1xYE29V1JXUYHWUcnQgGwyFFBAENiqUZ1kapFamTyeBcsNOLMkoMGC3GIIEyBBAtRMDAiiSKp04iQqpwc9kRpUCAizgEBVciEQNJFxpKGgECdFAYYBsCAjUMGS0XgAODmDacIyEAIfkEAAoA/wAsAAAAABAAEAAABnbAi3BILBovIMUidBSGQJdNIKBBMomUg6FDMRgoHcOBQowIqNaLJiCIEEMLxdWpnIfITRAHnxgwjiEfDR8UIQYBCEcgDYwdUR6ORxEfG3MgeFiFRB0FBBxEHAQFkUJmaBofamxuRB9/GwICGxeMTRehnrabpERBACH5BAAKAP8ALAAAAAAQABAAAAZ9wItwSCwaL5aFwnIUWiqXUSAwulSYRMrB0KEYDJSO4UAhRgQBDZLpCAgixOSSWFEssEho81IWJgYMTQwDCUgGAQhNCAEGTCMJHU0dCXBDFX1DFhwdeHwFIhxmGBihQxEDaRcOGhYao1WZGIFnAiMUDg6YRR0ioE57Fx2RRkEAIfkEAAoA/wAsAAAAABAAEAAABXLgJY5kaV7WolinaLGQEEBXxZLUUUyUYVATw4FCisg0NZYmIIiQUosKqaJY3FDS1oUoSgwYrcUggTIAEC1EwMCKJCatSYI2qnBx2dGkQOCQOAQFdxdGARoVGhCITE4kGBgWEI8QFgwYWhGTWiMWERFXIyEAIfkEAAoA/wAsAAAAABAAEAAABn/Ai3BILBovloXCchRaKpdRIDC6VJhEysHQoRgMlI7hQCFGBAENkukICCLE5JJYUSywSGjzUhYmBgxNDAMJSAYBCE0IAAZMEQkdTRwKVUMcHHhCFXpDERgYcJYEBZFDI58aFhoOFxpuoUIUGhoUZwJVGA6ZaxccBAQce0QdpUVBACH5BAAKAP8ALAAAAAAQABAAAAZ8wItwSCwaLyEFKXQUhioXSCAAuVSYRMrB0KEYDJSO4UAhmgQBDZKpCQhMxFBJgRVWlFkOtElhUj4NH3VEJQMJFx0NintFCAEGISEQH3BHHR5VThVlRRSMQh0FBBxEHAQFnEJnaRcfHxdtb0WKIWcCVSUNTYgEo7tEHR1HQQAh+QQACgD/ACwAAAAAEAAQAAAGdcCLcEgsGi8hhSJ0FHY6l1EgMLqAmEROo5HqGAwqL5g42qKsoAsqIEgRVacTdAhSLLBI1bWpwiYGDE0MAwlIBgEITQgBBkwjCRxNHQlVdCpGekUqBQSRQxwEBZdDKQIBZ3FqbG5EDYEjpikhW3hFoJ1NRU9HQQA7) no-repeat;width:16px;height:16px;margin:3px 4px 0;float:right}.redux-container #redux-intro-text{background:#f3f3f3;border-bottom:1px solid #dedede;-moz-box-shadow:inset 0 1px 0 #fcfcfc;-webkit-box-shadow:inset 0 1px 0 #fcfcfc;box-shadow:inset 0 1px 0 #fcfcfc;padding:3px;padding:10px 10px}.redux-container #redux-intro-text p{margin:0;font-family:"Lucida Grande", Sans-serif;color:#888}.redux-container .expand_options{cursor:pointer;display:block;height:22px;width:21px;float:left;font-size:0;text-indent:-9999px;margin:1px 0 0 5px;border:1px solid #bbb;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -26px}.redux-container .expand_options.expanded{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -1px}.redux-container .expand_options:hover{border-color:#888}.redux-container .sticky-footer-fixed{background:#f3f3f3;border-top:1px solid #dedede !important;-moz-box-shadow:inset 0 1px 0 #fcfcfc;-webkit-box-shadow:inset 0 1px 0 #fcfcfc;box-shadow:inset 0 1px 0 #fcfcfc}.redux-container .redux-sidebar,.redux-container .redux-main{min-height:300px}.no-js{border:1px solid #ffbaba;margin:0;border-bottom:1px solid #E7E7E7;background-color:#F2DEDE;color:#B94A48;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-main{background:#FCFCFC;margin-left:201px;border-left:1px solid #D8D8D8;padding:10px 20px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #FFF;box-shadow:inset 0 1px 0 #FFF;position:relative}.redux-main .form-table.no-border{border-top:none}.redux-main .form-table tr{border-bottom:1px solid #E7E7E7}.redux-main .form-table tr:last-child{border-bottom:none !important}.redux-main .form-table tr th,.redux-main .form-table tr td{color:#333}.redux-main .form-table tr td table.mceLayout,.redux-main .form-table tr td table.mceLayout tr,.redux-main .form-table tr td table.mceLayout tr td{padding:0;border-width:0}.redux-main .form-table tr td .redux-th-warning{font-size:1em;color:#C09853;font-weight:normal;display:block}.redux-main .form-table tr td .redux-field-warning{border-color:#C09853}.redux-main .form-table tr td .redux-th-error{font-size:1em;color:#B94A48;font-weight:normal;display:block}.redux-main input.large-text{width:100%}.redux-main .hide{display:none}.redux-main .redux-field-container{padding:20px 0}.redux-main .mini,.redux-main input[type=text].mini{width:50px;text-align:center}.redux-main input{line-height:19px}.redux-main img{max-width:100%;height:auto;width:auto !important}.redux-main .select2-default{width:auto !important}.redux-main .showDefaults{display:block;font-weight:normal;font-size:.8em;color:#888}.redux-main span.description{display:block;font-style:normal;font-weight:400}.redux-main #redux-system-info textarea{min-height:730px;width:100%}.redux-main .field-desc{clear:both;font-size:13px}.redux-main .data-full li{width:100%}.redux-main .data-half li{width:50%;float:left}.redux-main .data-third li{width:33.3%;float:left}.redux-main .data-quarter li{width:25%;float:left}.redux-main .ui-helper-hidden-accessible{top:inherit}.redux-main .form-table:first-child tr th,.redux-main .redux-main .form-table:first-child tr td{padding-top:0 !important}.redux-main .form-table{clear:none;margin-top:0px !important}.redux-main .form-table:first-child tr th,.redux-main .form-table:first-child tr td{padding-top:0 !important}.redux-main .form-table tr:first-child th,.redux-main .form-table tr:first-child td{padding-top:0}.redux-main .input-append input{border-right:0;margin-bottom:0;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0;float:left;margin-top:0;display:block}.redux-main .input-append .add-on{border-top-right-radius:3px;border-bottom-right-radius:3px;margin-left:-2px;padding-top:4px !important;padding-bottom:2px !important;float:left}.redux-main .input-prepend input{border-left:0;margin-bottom:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;padding-top:2px;padding-bottom:5px;float:left;margin-top:0;display:block}.redux-main .input-prepend .add-on{border-top-left-radius:3px;border-bottom-left-radius:3px;float:left}.redux-main .input-append{margin-right:10px;font-size:0;white-space:nowrap;float:left;display:inline-block;margin-bottom:6px}.redux-main .input-append .add-on,.redux-main .input-prepend .add-on{width:auto;display:inline-block;min-width:16px;padding:3px 4px;font-size:12px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #cccccc}.redux-main .input-prepend{font-size:0;white-space:nowrap;float:left;display:inline-block;margin-bottom:6px}.redux-main #redux-object-browser{overflow:auto;word-wrap:break-word;max-height:600px;max-width:100%}.redux-sidebar{width:202px;float:left}.redux-sidebar .redux-group-menu{margin-top:0 !important}.redux-sidebar .redux-group-menu li{margin-top:0}.redux-sidebar .redux-group-menu li.active a,.redux-sidebar .redux-group-menu li.active a:hover,.redux-sidebar .redux-group-menu li.activeChild a,.redux-sidebar .redux-group-menu li.activeChild a:hover{background:#FCFCFC;color:#269ad6;width:184px;opacity:1}.redux-sidebar .redux-group-menu li.active a li a{background:#333;padding-left:5px}.redux-sidebar .redux-group-menu li.divide{padding:0;border-width:1px 0;border-style:solid;border-bottom-color:#E7E7E7;border-top-color:#F9F9F9}.redux-sidebar .redux-group-menu li a:first-child{border-top:none}.redux-sidebar .redux-group-menu li a{display:block;padding:10px 4px 10px 14px;background:#e0e0e0;background:transparent;border-width:1px 0;border-style:solid;border-bottom-color:#E7E7E7;border-top-color:#F9F9F9;opacity:0.7;color:#555;font-weight:bold;text-decoration:none;-webkit-transition:none;transition:none}.redux-sidebar .redux-group-menu li a.custom-tab{background:#f6f6f6}.redux-sidebar .redux-group-menu li a img{width:16px;height:16px;position:absolute;left:15px}.redux-sidebar .redux-group-menu li a:hover{background:#e5e5e5;color:#777;opacity:1}.redux-sidebar .redux-menu-warning,.redux-sidebar .redux-menu-error,.redux-sidebar .hasSubSections .extraIconSubsections{display:inline-block;float:right;padding:6px 7px 4px 7px;margin-left:4px;font-family:sans-serif;font-size:9px;font-weight:bold;line-height:9px;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;margin-right:5px}.redux-sidebar .redux-menu-warning i,.redux-sidebar .redux-menu-error i,.redux-sidebar .hasSubSections .extraIconSubsections i{margin-left:-3px;margin-top:-3px}.redux-sidebar .redux-menu-error{background-color:#b94a48;color:#f2dede}.redux-sidebar .redux-menu-warning{background-color:#C09853;color:#FCF8E3}.redux-sidebar ul .subsection{display:none}.redux-sidebar .redux-group-tab-link-a{position:relative;outline:0}.redux-sidebar .redux-group-tab-link-a i{vertical-align:middle;font-size:1.35em;position:absolute}.redux-sidebar .redux-group-tab-link-a span{display:block}.redux-sidebar .redux-group-tab-link-a span.group_title{padding-left:30px}.redux-sidebar .redux-group-tab-link-li a.hasError span.group_title{padding-right:25px}.form-table th,.form-table td{margin:0;padding:0;width:auto}.redux_field_th{font-weight:bold;padding:20px 10px 20px 0px;display:block}.redux_field_th span:first-child{font-weight:normal;display:block;color:#666}.farb-popup-wrapper{position:relative;display:block}.farb-popup{position:absolute;left:40px;top:40px;background-color:white;border:1px solid #222;padding:5px;z-index:100}#ui-datepicker-div{display:none}.mp6 .icon-themes{display:none}.mp6 .redux-container #info_bar{padding:6px 10px 6px 6px}.mp6 .redux-container #info_bar a{margin-top:2px}.redux-timer{text-align:center;font-size:10px;color:#888}.wrap{margin-top:0}@media screen and (max-width: 1124px){.redux-sidebar{width:44px}.redux-sidebar .extraIconSubsections{display:none !important}.redux-sidebar .redux-group-menu li a,.redux-sidebar .redux-group-menu li a:hover,.redux-sidebar .redux-group-menu li.active a,.redux-sidebar .redux-group-menu li.active a:hover,.redux-sidebar .redux-group-menu li.activeChild a,.redux-sidebar .redux-group-menu li.activeChild a:hover{width:auto}.redux-sidebar .redux-group-tab-link-a{position:relative}.redux-sidebar .redux-group-tab-link-a i{position:inherit}.redux-sidebar .redux-group-tab-link-a span{display:none;position:absolute;top:0;left:44px;padding:12px;width:200px;background:#eeeeee;border:1px solid #ccc;-webkit-box-shadow:2px 2px 8px rgba(0,0,0,0.2);-moz-box-shadow:2px 2px 8px rgba(0,0,0,0.2);box-shadow:2px 2px 8px rgba(0,0,0,0.2);border-width:1px 1px 1px 0px;z-index:3}.redux-sidebar .redux-group-tab-link-a:hover>span{display:block}.redux-main{margin-left:43px;width:auto;max-width:100%}table.form-table,.form-table>thead,.form-table>tbody,.form-table>tbody>tr>th,.form-table>tbody>tr>td,.form-table>tbody>tr{display:block;width:100% !important;padding:0px !important}.form-table>tbody>tr>th,.form-table>tbody>tr>td{padding:10px !important}.form-table>tbody>tr>th,.form-table>tbody>tr>td{padding:10px !important}}@media screen and (max-width: 783px){.mp6 .redux-container #info_bar{height:auto;padding-bottom:1px}.mp6 .redux-container #info_bar a{margin-top:5px}}pre{overflow:hidden}#redux-header h2{color:#fff}.admin-color-fresh .button.ui-datepicker-current,.admin-color-fresh button.ui-datepicker-close{background-color:#007fb1 !important}.admin-color-fresh .ui-datepicker-buttonpane button.ui-datepicker-current{background:#1e8cbe !important;color:#fff !important;border:1px solid #104b66 !important}.admin-color-fresh .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-fresh .ui-datepicker-header{background-color:#222 !important;color:#fff !important}.admin-color-fresh .ui-datepicker td .ui-state-active{background-color:#007fb1 !important;color:#fff !important}.admin-color-fresh .ui-datepicker td .ui-state-hover{color:#007fb1 !important}.admin-color-fresh .ui-datepicker td .ui-state-highlight{background:#0074a2 !important;border:1px solid #222 !important;color:#fff !important}.admin-color-fresh .redux-container-switch .cb-disable,.admin-color-fresh .redux-container-switch .cb-enable,.admin-color-fresh .ui-state-default,.admin-color-fresh .ui-widget-content .ui-state-default,.admin-color-fresh .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-fresh .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-fresh .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-fresh .redux-container-switch .cb-enable.selected,.admin-color-fresh .redux-container .ui-buttonset .ui-state-active{background-color:#0074a2 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#008ec6), to(#0074a2)) !important;background-image:-moz-linear-gradient(top, #008ec6, #0074a2) !important;background-image:-ms-linear-gradient(top, #008ec6, #0074a2) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #008ec6), color-stop(100%, #0074a2)) !important;background-image:-webkit-linear-gradient(top, #008ec6, #0074a2) !important;background-image:-o-linear-gradient(top, #008ec6, #0074a2) !important;background-image:linear-gradient(top, #008ec6, #0074a2) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#008ec6', endColorstr='#0074a2', GradientType=0) !important;border-color:#003d55 !important;border-color:#004f6f !important;-webkit-box-shadow:inset 0 1px 0 #00abef,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #00abef,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-fresh #redux-header{background:#222;border-color:#0074a2}.admin-color-fresh #redux-header .display_header span{color:#bbb}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-fresh .redux-sidebar .redux-group-menu li.active a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a{color:#222}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#0074a2}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#222}.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#bbb}.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#222}.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#0074a2}.admin-color-fresh .redux-container-image_select .redux-image-select-selected img{border-color:#0074a2}.admin-color-fresh #redux-footer #redux-share a{color:#0074a2}.admin-color-fresh #redux-footer #redux-share a:hover{color:#002b3c}.admin-color-fresh .select2-results .select2-highlighted{background:#0074a2}.admin-color-fresh .select2-drop-active,.admin-color-fresh .select2-container-multi.select2-container-active .select2-choices,.admin-color-fresh .select2-drop.select2-drop-above.select2-drop-active,.admin-color-fresh .select2-container-active .select2-choice,.admin-color-fresh .select2-container-active .select2-choices,.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#0074a2}.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-fresh .noUi-connect{background-color:#007fb1 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#0099d5), to(#007fb1)) !important;background-image:-moz-linear-gradient(top, #0099d5, #007fb1) !important;background-image:-ms-linear-gradient(top, #0099d5, #007fb1) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0099d5), color-stop(100%, #007fb1)) !important;background-image:-webkit-linear-gradient(top, #0099d5, #007fb1) !important;background-image:-o-linear-gradient(top, #0099d5, #007fb1) !important;background-image:linear-gradient(top, #0099d5, #007fb1) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0099d5', endColorstr='#007fb1', GradientType=0) !important}.admin-color-light .button.ui-datepicker-current,.admin-color-light button.ui-datepicker-close{background-color:#04b0db !important}.admin-color-light .ui-datepicker-buttonpane button.ui-datepicker-current{background:#0384a4 !important;color:#fff !important;border:1px solid #013340 !important}.admin-color-light .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-light .ui-datepicker-header{background-color:#888 !important;color:#fff !important}.admin-color-light .ui-datepicker td .ui-state-active{background-color:#04b0db !important;color:#fff !important}.admin-color-light .ui-datepicker td .ui-state-hover{color:#04b0db !important}.admin-color-light .ui-datepicker td .ui-state-highlight{background:#04a4cc !important;border:1px solid #888 !important;color:#fff !important}.admin-color-light .redux-container-switch .cb-disable,.admin-color-light .redux-container-switch .cb-enable,.admin-color-light .ui-state-default,.admin-color-light .ui-widget-content .ui-state-default,.admin-color-light .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-light .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-light .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-light .redux-container-switch .cb-enable.selected,.admin-color-light .redux-container .ui-buttonset .ui-state-active{background-color:#04a4cc !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#05c0ef), to(#04a4cc)) !important;background-image:-moz-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:-ms-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #05c0ef), color-stop(100%, #04a4cc)) !important;background-image:-webkit-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:-o-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:linear-gradient(top, #05c0ef, #04a4cc) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#05c0ef', endColorstr='#04a4cc', GradientType=0) !important;border-color:#036881 !important;border-color:#037c9a !important;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-light #redux-header{background:#888;border-color:#04a4cc}.admin-color-light #redux-header .display_header span{color:#e6e6e6}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-light .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-light .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-light .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-light .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-light .redux-sidebar .redux-group-menu li.active,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-light .redux-sidebar .redux-group-menu li.active a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild a{color:#888}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#04a4cc}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#888}.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#e6e6e6}.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#888}.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#04a4cc}.admin-color-light .redux-container-image_select .redux-image-select-selected img{border-color:#04a4cc}.admin-color-light #redux-footer #redux-share a{color:#04a4cc}.admin-color-light #redux-footer #redux-share a:hover{color:#025468}.admin-color-light .select2-results .select2-highlighted{background:#04a4cc}.admin-color-light .select2-drop-active,.admin-color-light .select2-container-multi.select2-container-active .select2-choices,.admin-color-light .select2-drop.select2-drop-above.select2-drop-active,.admin-color-light .select2-container-active .select2-choice,.admin-color-light .select2-container-active .select2-choices,.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#04a4cc}.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-light .noUi-connect{background-color:#04b0db !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#09cafa), to(#04b0db)) !important;background-image:-moz-linear-gradient(top, #09cafa, #04b0db) !important;background-image:-ms-linear-gradient(top, #09cafa, #04b0db) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #09cafa), color-stop(100%, #04b0db)) !important;background-image:-webkit-linear-gradient(top, #09cafa, #04b0db) !important;background-image:-o-linear-gradient(top, #09cafa, #04b0db) !important;background-image:linear-gradient(top, #09cafa, #04b0db) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#09cafa', endColorstr='#04b0db', GradientType=0) !important}.admin-color-blue .button.ui-datepicker-current,.admin-color-blue button.ui-datepicker-close{background-color:#509dba !important}.admin-color-blue .ui-datepicker-buttonpane button.ui-datepicker-current{background:#db9825 !important;color:#fff !important;border:1px solid #845c16 !important}.admin-color-blue .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-blue .ui-datepicker-header{background-color:#096484 !important;color:#fff !important}.admin-color-blue .ui-datepicker td .ui-state-active{background-color:#509dba !important;color:#fff !important}.admin-color-blue .ui-datepicker td .ui-state-hover{color:#509dba !important}.admin-color-blue .ui-datepicker td .ui-state-highlight{background:#4796b3 !important;border:1px solid #096484 !important;color:#fff !important}.admin-color-blue .redux-container-switch .cb-disable,.admin-color-blue .redux-container-switch .cb-enable,.admin-color-blue .ui-state-default,.admin-color-blue .ui-widget-content .ui-state-default,.admin-color-blue .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-blue .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-blue .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-blue .redux-container-switch .cb-enable.selected,.admin-color-blue .redux-container .ui-buttonset .ui-state-active{background-color:#4796b3 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#5ea5bf), to(#4796b3)) !important;background-image:-moz-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:-ms-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5ea5bf), color-stop(100%, #4796b3)) !important;background-image:-webkit-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:-o-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:linear-gradient(top, #5ea5bf, #4796b3) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5ea5bf', endColorstr='#4796b3', GradientType=0) !important;border-color:#31687c !important;border-color:#39778e !important;-webkit-box-shadow:inset 0 1px 0 #7cb6cb,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #7cb6cb,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-blue #redux-header{background:#096484;border-color:#4796b3}.admin-color-blue #redux-header .display_header span{color:#e2ecf1}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-blue .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-blue .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-blue .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-blue .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-blue .redux-sidebar .redux-group-menu li.active,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-blue .redux-sidebar .redux-group-menu li.active a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild a{color:#096484}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#4796b3}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#096484}.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#e2ecf1}.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#096484}.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#4796b3}.admin-color-blue .redux-container-image_select .redux-image-select-selected img{border-color:#4796b3}.admin-color-blue #redux-footer #redux-share a{color:#4796b3}.admin-color-blue #redux-footer #redux-share a:hover{color:#2a596a}.admin-color-blue .select2-results .select2-highlighted{background:#4796b3}.admin-color-blue .select2-drop-active,.admin-color-blue .select2-container-multi.select2-container-active .select2-choices,.admin-color-blue .select2-drop.select2-drop-above.select2-drop-active,.admin-color-blue .select2-container-active .select2-choice,.admin-color-blue .select2-container-active .select2-choices,.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#4796b3}.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-blue .noUi-connect{background-color:#509dba !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#69abc4), to(#509dba)) !important;background-image:-moz-linear-gradient(top, #69abc4, #509dba) !important;background-image:-ms-linear-gradient(top, #69abc4, #509dba) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #69abc4), color-stop(100%, #509dba)) !important;background-image:-webkit-linear-gradient(top, #69abc4, #509dba) !important;background-image:-o-linear-gradient(top, #69abc4, #509dba) !important;background-image:linear-gradient(top, #69abc4, #509dba) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#69abc4', endColorstr='#509dba', GradientType=0) !important}.admin-color-coffee .button.ui-datepicker-current,.admin-color-coffee button.ui-datepicker-close{background-color:#ccad93 !important}.admin-color-coffee .ui-datepicker-buttonpane button.ui-datepicker-current{background:#ba906d !important;color:#fff !important;border:1px solid #835d3e !important}.admin-color-coffee .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vywC3+8AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==) !important}.admin-color-coffee .ui-datepicker-header{background-color:#46403c !important;color:#fff !important}.admin-color-coffee .ui-datepicker td .ui-state-active{background-color:#ccad93 !important;color:#fff !important}.admin-color-coffee .ui-datepicker td .ui-state-hover{color:#ccad93 !important}.admin-color-coffee .ui-datepicker td .ui-state-highlight{background:#c7a589 !important;border:1px solid #46403c !important;color:#fff !important}.admin-color-coffee .redux-container-switch .cb-disable,.admin-color-coffee .redux-container-switch .cb-enable,.admin-color-coffee .ui-state-default,.admin-color-coffee .ui-widget-content .ui-state-default,.admin-color-coffee .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-coffee .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-coffee .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-coffee .redux-container-switch .cb-enable.selected,.admin-color-coffee .redux-container .ui-buttonset .ui-state-active{background-color:#c7a589 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#d2b7a1), to(#c7a589)) !important;background-image:-moz-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:-ms-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #d2b7a1), color-stop(100%, #c7a589)) !important;background-image:-webkit-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:-o-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:linear-gradient(top, #d2b7a1, #c7a589) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d2b7a1', endColorstr='#c7a589', GradientType=0) !important;border-color:#ae7d55 !important;border-color:#b78b66 !important;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-coffee #redux-header{background:#46403c;border-color:#c7a589}.admin-color-coffee #redux-header .display_header span{color:#cdcbc9}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-coffee .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-coffee .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-coffee .redux-sidebar .redux-group-menu li.active a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild a{color:#46403c}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#c7a589}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#46403c}.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#cdcbc9}.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#46403c}.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#c7a589}.admin-color-coffee .redux-container-image_select .redux-image-select-selected img{border-color:#c7a589}.admin-color-coffee #redux-footer #redux-share a{color:#c7a589}.admin-color-coffee #redux-footer #redux-share a:hover{color:#9f714b}.admin-color-coffee .select2-results .select2-highlighted{background:#c7a589}.admin-color-coffee .select2-drop-active,.admin-color-coffee .select2-container-multi.select2-container-active .select2-choices,.admin-color-coffee .select2-drop.select2-drop-above.select2-drop-active,.admin-color-coffee .select2-container-active .select2-choice,.admin-color-coffee .select2-container-active .select2-choices,.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#c7a589}.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-coffee .noUi-connect{background-color:#ccad93 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#d7bfac), to(#ccad93)) !important;background-image:-moz-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:-ms-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #d7bfac), color-stop(100%, #ccad93)) !important;background-image:-webkit-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:-o-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:linear-gradient(top, #d7bfac, #ccad93) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d7bfac', endColorstr='#ccad93', GradientType=0) !important}.admin-color-ectoplasm .button.ui-datepicker-current,.admin-color-ectoplasm button.ui-datepicker-close{background-color:#a9bd4f !important}.admin-color-ectoplasm .ui-datepicker-buttonpane button.ui-datepicker-current{background:#89993a !important;color:#fff !important;border:1px solid #474f1e !important}.admin-color-ectoplasm .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vywC3+8AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==) !important}.admin-color-ectoplasm .ui-datepicker-header{background-color:#413256 !important;color:#fff !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-active{background-color:#a9bd4f !important;color:#fff !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-hover{color:#a9bd4f !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-highlight{background:#a3b745 !important;border:1px solid #413256 !important;color:#fff !important}.admin-color-ectoplasm .redux-container-switch .cb-disable,.admin-color-ectoplasm .redux-container-switch .cb-enable,.admin-color-ectoplasm .ui-state-default,.admin-color-ectoplasm .ui-widget-content .ui-state-default,.admin-color-ectoplasm .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-ectoplasm .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-ectoplasm .redux-container-switch .cb-enable.selected,.admin-color-ectoplasm .redux-container .ui-buttonset .ui-state-active{background-color:#a3b745 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#b0c25e), to(#a3b745)) !important;background-image:-moz-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:-ms-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #b0c25e), color-stop(100%, #a3b745)) !important;background-image:-webkit-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:-o-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:linear-gradient(top, #b0c25e, #a3b745) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b0c25e', endColorstr='#a3b745', GradientType=0) !important;border-color:#727f30 !important;border-color:#829237 !important;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-ectoplasm #redux-header{background:#413256;border-color:#a3b745}.admin-color-ectoplasm #redux-header .display_header span{color:#cbc5d3}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild a{color:#413256}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#a3b745}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#413256}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#cbc5d3}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#413256}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#a3b745}.admin-color-ectoplasm .redux-container-image_select .redux-image-select-selected img{border-color:#a3b745}.admin-color-ectoplasm #redux-footer #redux-share a{color:#a3b745}.admin-color-ectoplasm #redux-footer #redux-share a:hover{color:#616d29}.admin-color-ectoplasm .select2-results .select2-highlighted{background:#a3b745}.admin-color-ectoplasm .select2-drop-active,.admin-color-ectoplasm .select2-container-multi.select2-container-active .select2-choices,.admin-color-ectoplasm .select2-drop.select2-drop-above.select2-drop-active,.admin-color-ectoplasm .select2-container-active .select2-choice,.admin-color-ectoplasm .select2-container-active .select2-choices,.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#a3b745}.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-ectoplasm .noUi-connect{background-color:#a9bd4f !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#b6c669), to(#a9bd4f)) !important;background-image:-moz-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:-ms-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #b6c669), color-stop(100%, #a9bd4f)) !important;background-image:-webkit-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:-o-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:linear-gradient(top, #b6c669, #a9bd4f) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b6c669', endColorstr='#a9bd4f', GradientType=0) !important}.admin-color-midnight .button.ui-datepicker-current,.admin-color-midnight button.ui-datepicker-close{background-color:#e35950 !important}.admin-color-midnight .ui-datepicker-buttonpane button.ui-datepicker-current{background:#d92c23 !important;color:#fff !important;border:1px solid #811a15 !important}.admin-color-midnight .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vywC3+8AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==) !important}.admin-color-midnight .ui-datepicker-header{background-color:#363b3f !important;color:#fff !important}.admin-color-midnight .ui-datepicker td .ui-state-active{background-color:#e35950 !important;color:#fff !important}.admin-color-midnight .ui-datepicker td .ui-state-hover{color:#e35950 !important}.admin-color-midnight .ui-datepicker td .ui-state-highlight{background:#e14d43 !important;border:1px solid #363b3f !important;color:#fff !important}.admin-color-midnight .redux-container-switch .cb-disable,.admin-color-midnight .redux-container-switch .cb-enable,.admin-color-midnight .ui-state-default,.admin-color-midnight .ui-widget-content .ui-state-default,.admin-color-midnight .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-midnight .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-midnight .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-midnight .redux-container-switch .cb-enable.selected,.admin-color-midnight .redux-container .ui-buttonset .ui-state-active{background-color:#e14d43 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e66a62), to(#e14d43)) !important;background-image:-moz-linear-gradient(top, #e66a62, #e14d43) !important;background-image:-ms-linear-gradient(top, #e66a62, #e14d43) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e66a62), color-stop(100%, #e14d43)) !important;background-image:-webkit-linear-gradient(top, #e66a62, #e14d43) !important;background-image:-o-linear-gradient(top, #e66a62, #e14d43) !important;background-image:linear-gradient(top, #e66a62, #e14d43) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e66a62', endColorstr='#e14d43', GradientType=0) !important;border-color:#ba281e !important;border-color:#d02c21 !important;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-midnight #redux-header{background:#363b3f;border-color:#e14d43}.admin-color-midnight #redux-header .display_header span{color:#c2c4c5}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-midnight .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-midnight .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-midnight .redux-sidebar .redux-group-menu li.active a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild a{color:#363b3f}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#e14d43}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#363b3f}.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#c2c4c5}.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#363b3f}.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#e14d43}.admin-color-midnight .redux-container-image_select .redux-image-select-selected img{border-color:#e14d43}.admin-color-midnight #redux-footer #redux-share a{color:#e14d43}.admin-color-midnight #redux-footer #redux-share a:hover{color:#a4231a}.admin-color-midnight .select2-results .select2-highlighted{background:#e14d43}.admin-color-midnight .select2-drop-active,.admin-color-midnight .select2-container-multi.select2-container-active .select2-choices,.admin-color-midnight .select2-drop.select2-drop-above.select2-drop-active,.admin-color-midnight .select2-container-active .select2-choice,.admin-color-midnight .select2-container-active .select2-choices,.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#e14d43}.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-midnight .noUi-connect{background-color:#e35950 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e8776f), to(#e35950)) !important;background-image:-moz-linear-gradient(top, #e8776f, #e35950) !important;background-image:-ms-linear-gradient(top, #e8776f, #e35950) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e8776f), color-stop(100%, #e35950)) !important;background-image:-webkit-linear-gradient(top, #e8776f, #e35950) !important;background-image:-o-linear-gradient(top, #e8776f, #e35950) !important;background-image:linear-gradient(top, #e8776f, #e35950) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e8776f', endColorstr='#e35950', GradientType=0) !important}.admin-color-ocean .button.ui-datepicker-current,.admin-color-ocean button.ui-datepicker-close{background-color:#a7c0a9 !important}.admin-color-ocean .ui-datepicker-buttonpane button.ui-datepicker-current{background:#86a988 !important;color:#fff !important;border:1px solid #547555 !important}.admin-color-ocean .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-ocean .ui-datepicker-header{background-color:#627c83 !important;color:#fff !important}.admin-color-ocean .ui-datepicker td .ui-state-active{background-color:#a7c0a9 !important;color:#fff !important}.admin-color-ocean .ui-datepicker td .ui-state-hover{color:#a7c0a9 !important}.admin-color-ocean .ui-datepicker td .ui-state-highlight{background:#9ebaa0 !important;border:1px solid #627c83 !important;color:#fff !important}.admin-color-ocean .redux-container-switch .cb-disable,.admin-color-ocean .redux-container-switch .cb-enable,.admin-color-ocean .ui-state-default,.admin-color-ocean .ui-widget-content .ui-state-default,.admin-color-ocean .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-ocean .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-ocean .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-ocean .redux-container-switch .cb-enable.selected,.admin-color-ocean .redux-container .ui-buttonset .ui-state-active{background-color:#9ebaa0 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#b3c9b4), to(#9ebaa0)) !important;background-image:-moz-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:-ms-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #b3c9b4), color-stop(100%, #9ebaa0)) !important;background-image:-webkit-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:-o-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:linear-gradient(top, #b3c9b4, #9ebaa0) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3c9b4', endColorstr='#9ebaa0', GradientType=0) !important;border-color:#719a74 !important;border-color:#80a583 !important;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-ocean #redux-header{background:#627c83;border-color:#9ebaa0}.admin-color-ocean #redux-header .display_header span{color:#d5dddf}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-ocean .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-ocean .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-ocean .redux-sidebar .redux-group-menu li.active a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild a{color:#627c83}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#9ebaa0}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#627c83}.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#d5dddf}.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#627c83}.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#9ebaa0}.admin-color-ocean .redux-container-image_select .redux-image-select-selected img{border-color:#9ebaa0}.admin-color-ocean #redux-footer #redux-share a{color:#9ebaa0}.admin-color-ocean #redux-footer #redux-share a:hover{color:#658d68}.admin-color-ocean .select2-results .select2-highlighted{background:#9ebaa0}.admin-color-ocean .select2-drop-active,.admin-color-ocean .select2-container-multi.select2-container-active .select2-choices,.admin-color-ocean .select2-drop.select2-drop-above.select2-drop-active,.admin-color-ocean .select2-container-active .select2-choice,.admin-color-ocean .select2-container-active .select2-choices,.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#9ebaa0}.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-ocean .noUi-connect{background-color:#a7c0a9 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#bccfbd), to(#a7c0a9)) !important;background-image:-moz-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:-ms-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #bccfbd), color-stop(100%, #a7c0a9)) !important;background-image:-webkit-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:-o-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:linear-gradient(top, #bccfbd, #a7c0a9) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bccfbd', endColorstr='#a7c0a9', GradientType=0) !important}.admin-color-sunrise .button.ui-datepicker-current,.admin-color-sunrise button.ui-datepicker-close{background-color:#df8a48 !important}.admin-color-sunrise .ui-datepicker-buttonpane button.ui-datepicker-current{background:#cc6c23 !important;color:#fff !important;border:1px solid #753e14 !important}.admin-color-sunrise .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-sunrise .ui-datepicker-header{background-color:#b43c38 !important;color:#fff !important}.admin-color-sunrise .ui-datepicker td .ui-state-active{background-color:#df8a48 !important;color:#fff !important}.admin-color-sunrise .ui-datepicker td .ui-state-hover{color:#df8a48 !important}.admin-color-sunrise .ui-datepicker td .ui-state-highlight{background:#dd823b !important;border:1px solid #b43c38 !important;color:#fff !important}.admin-color-sunrise .redux-container-switch .cb-disable,.admin-color-sunrise .redux-container-switch .cb-enable,.admin-color-sunrise .ui-state-default,.admin-color-sunrise .ui-widget-content .ui-state-default,.admin-color-sunrise .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:linear-gradient(top, #f8f8f8, #f5f5f5) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-sunrise .ui-datepicker td .ui-state-active{color:#000 !important;font-weight:700 !important;background:#fff !important}.admin-color-sunrise .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:linear-gradient(top, #929292, #646464) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-sunrise .redux-container-switch .cb-enable.selected,.admin-color-sunrise .redux-container .ui-buttonset .ui-state-active{background-color:#dd823b !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e29559), to(#dd823b)) !important;background-image:-moz-linear-gradient(top, #e29559, #dd823b) !important;background-image:-ms-linear-gradient(top, #e29559, #dd823b) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e29559), color-stop(100%, #dd823b)) !important;background-image:-webkit-linear-gradient(top, #e29559, #dd823b) !important;background-image:-o-linear-gradient(top, #e29559, #dd823b) !important;background-image:linear-gradient(top, #e29559, #dd823b) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e29559', endColorstr='#dd823b', GradientType=0) !important;border-color:#ad5d1e !important;border-color:#c36922 !important;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-sunrise #redux-header{background:#b43c38;border-color:#dd823b}.admin-color-sunrise #redux-header .display_header span{color:#f0c8c6}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-sunrise .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild a{color:#b43c38}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#2ea2cc;background:#000}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#dd823b}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#b43c38}.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#f0c8c6}.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#b43c38}.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#dd823b}.admin-color-sunrise .redux-container-image_select .redux-image-select-selected img{border-color:#dd823b}.admin-color-sunrise #redux-footer #redux-share a{color:#dd823b}.admin-color-sunrise #redux-footer #redux-share a:hover{color:#98511a}.admin-color-sunrise .select2-results .select2-highlighted{background:#dd823b}.admin-color-sunrise .select2-drop-active,.admin-color-sunrise .select2-container-multi.select2-container-active .select2-choices,.admin-color-sunrise .select2-drop.select2-drop-above.select2-drop-active,.admin-color-sunrise .select2-container-active .select2-choice,.admin-color-sunrise .select2-container-active .select2-choices,.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#dd823b}.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-sunrise .noUi-connect{background-color:#df8a48 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e59e66), to(#df8a48)) !important;background-image:-moz-linear-gradient(top, #e59e66, #df8a48) !important;background-image:-ms-linear-gradient(top, #e59e66, #df8a48) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e59e66), color-stop(100%, #df8a48)) !important;background-image:-webkit-linear-gradient(top, #e59e66, #df8a48) !important;background-image:-o-linear-gradient(top, #e59e66, #df8a48) !important;background-image:linear-gradient(top, #e59e66, #df8a48) !important;c:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e59e66', endColorstr='#df8a48', GradientType=0) !important}@media screen and (max-width: 1124px){.redux-group-tab-link-a span{padding:11px 12px;color:#555;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.redux-group-tab-link-a span:hover{background:#e5e5e5}}@media screen and (max-width: 782px){#redux-footer #redux-share{line-height:38px;font-size:18px}.sticky-save-warn .redux-save-warn{right:13px;top:46px}.redux-container .expand_options{margin-top:5px}.redux-action_bar input{margin-bottom:0 !important}}@media screen and (max-width: 650px){#redux-footer #redux-share,.redux-hint-qtip{display:none}.redux-container .redux-action_bar{float:none}}@media screen and (max-width: 476px){.redux-container .expand_options{display:none}#redux-footer,.redux-container #info_bar{text-align:center}}.redux-sidebar .icon-large,.redux-main .icon-large{background-image:inherit !important;width:inherit;height:inherit}.redux-main dd,.redux-main li,.redux-sidebar li{margin-bottom:0 !important}.fully-expanded .redux-sidebar{margin-left:-500px}.fully-expanded .redux-main{margin-left:0}.fully-expanded .redux-group-tab{display:block}@media screen and (max-width: 1124px){.form-table>tbody>tr>th{padding-bottom:0 !important}.redux_field_th{padding-top:0;padding-bottom:0}.redux-main .redux-field-container{padding-top:0;padding-bottom:0}}@media screen and (min-width: 601px) and (max-width: 782px){.redux-container .sticky-save-warn .redux-save-warn{top:47px !important;right:13px !important}}@media screen and (max-width: 782px){.redux-main .form-table-section-indented input[type=text]{width:95% !important}.redux-main .redux-container-sortable input[type=text]{width:80%;display:initial}.redux-main .redux-typography-container .input_wrapper input.mini{font-size:16px !important;height:40px !important;padding:7px 10px !important;line-height:24px !important}.redux-main .redux-typography-container .picker-wrapper label{margin-top:16px !important}.redux-main .input-append{height:50px !important}.redux-main .input-append .add-on{font-size:16px;line-height:24px !important;padding:7px;height:32px !important;float:right;margin-top:-40px}.redux-main .redux-hint-qtip{float:left !important}}@media screen and (max-width: 600px){.sticky-save-warn .redux-save-warn{top:0 !important;right:14px !important}}@media screen and (max-width: 570px){.redux-main .redux-container-sortable .checkbox-container{width:85%;padding-bottom:5px}.redux-main .redux-container-sortable .checkbox-container label{display:initial}}#redux-header{position:relative}.redux-container #redux-header .display_header span.redux-dev-mode-notice{position:absolute;left:20px;bottom:9px;background-color:#f0ad4e;display:inline;padding:.2em .6em .3em;font-weight:700;line-height:1;color:#fff !important;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em} +.redux-main .description{margin-top:7px}.form-table>tbody>tr>th{width:30%}.redux-container{background-color:#f5f5f5;background-repeat:repeat-x;background-image:-moz-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f2f2f2), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);background-image:-ms-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);background-image:-o-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0);background-image:-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%);border:1px solid #dedede;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04);-moz-box-shadow:0 1px 5px rgba(0,0,0,0.4);margin-top:5px;overflow:hidden}.redux-container a:focus{box-shadow:none}.redux-container .hr{height:20px;line-height:20px;float:none;border-color:#E7E7E7;display:block;width:100%;height:35px !important;line-height:35px !important;position:relative;margin:15px 0 10px 0}.redux-container .hr .inner span{background-color:#FCFCFC;border-color:#E7E7E7;height:5px;width:5px;border-width:2px;border-style:solid;display:block;position:absolute;left:50%;margin-left:-5px;margin-top:-5px}.redux-container .inner{width:42% !important;left:40% !important;margin-left:-6%;background-color:#FCFCFC;border-color:#E7E7E7;position:absolute;height:1px;top:50%;width:100%;margin-top:-1px;border-top-width:1px;border-top-style:solid}.redux-container #redux-header,.redux-container #redux-footer{text-align:right;padding:6px 10px}.redux-container #redux-header{background:#f1f1f1;border-bottom:3px solid blue}.redux-container #redux-header .display_header{float:left;margin:20px 10px}.redux-container #redux-header .display_header h2{display:inline-block;font-style:normal;padding-right:5px}.redux-container #redux-header .display_header .redux-dev-mode-notice-container{position:absolute;top:67px;left:20px;bottom:auto;width:auto}.redux-container #redux-header .display_header span{color:#888}.redux-container #redux-header .display_header span.redux-dev-mode-notice{background-color:#f0ad4e;display:inline;padding:.2em .5em .2em;font-weight:700;line-height:1;color:#fff !important;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.redux-container #redux-header .icon32{float:right;margin:16px 16px 0}.redux-container #redux-footer{border-top:1px solid #E7E7E7;z-index:999}.redux-container #redux-footer #redux-share{float:left;line-height:28px;font-size:15px}.redux-container #redux-footer #redux-share a{text-decoration:none;margin-right:10px}.redux-container #redux-footer #redux-share a img{margin-bottom:-3px}.redux-container .notice-green{margin:0;border-bottom:1px solid #E7E7E7;background-color:#DFF0D8;color:#468847;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .notice-blue{margin:0;border-bottom:1px solid #BCE8F1;background-color:#D9EDF7;color:#3A87AD;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .notice-yellow{margin:0;border-bottom:1px solid #E7E7E7;background-color:#FCF8E3;color:#C09853;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .notice-red,.redux-container .redux-field-errors{margin:0;border-bottom:1px solid #E7E7E7;background-color:#F2DEDE;color:#B94A48;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-container .redux-field-error input,.redux-container .redux-field-error textarea,.redux-container .redux-field-error checkbox{background-color:#FFF6F6;color:#A00}.redux-container .redux-field-warning input,.redux-container .redux-field-warning textarea,.redux-container .redux-field-warning checkbox{background-color:#fcf8e3;color:#444}.redux-container .redux-field-errors,.redux-container .redux-field-warnings,.redux-container .redux-save-warn{display:none}.redux-container .sticky-save-warn{min-height:76px}.redux-container .sticky-save-warn .redux-save-warn{position:fixed;top:32px;right:21px;left:183px;opacity:1;z-index:9999}.redux-container #info_bar{background:#f3f3f3;border-bottom:1px solid #dedede;padding:6px 10px 6px 6px;text-align:right;-moz-box-shadow:inset 0 1px 0 #fcfcfc;-webkit-box-shadow:inset 0 1px 0 #fcfcfc;box-shadow:inset 0 1px 0 #fcfcfc}.redux-container .redux-group-tab{display:none;margin-bottom:15px}.redux-container .redux-group-tab .redux-theme-data{padding:20px 0;border-top:1px solid #E7E7E7}.redux-container .redux-group-tab .redux-theme-data.theme-description{padding:10px 0;border-width:0}.redux-container .redux-group-tab .redux-theme-data.theme-uri,.redux-container .redux-group-tab .redux-theme-data.theme-author,.redux-container .redux-group-tab .redux-theme-data.theme-version{padding:0;border-width:0}.redux-container .redux-group-tab h3{margin-top:0;line-height:2em;border-bottom:1px solid #E7E7E7}.redux-container .redux-group-tab .redux-section-desc{margin-bottom:15px;color:#666}.redux-container .redux-action_bar{float:right}.redux-container .redux-action_bar .spinner{float:left;margin-top:4px}.redux-container .redux-ajax-loading{display:none;background:red url(data:image/gif;base64,R0lGODlhEAAQAPUAAIiIiIqKio2NjZSUlJqamp6enqKioqSkpK+vr7i4uL+/v8PDw8XFxcnJyc/Pz9HR0dTU1NjY2Nzc3OLi4ubm5unp6ezs7PPz88vLy83NzdDQ0NXV1d3d3eHh4bu7u8zMzOvr6+3t7ZiYmNbW1sDAwMTExNra2s7OztPT09vb2+Xl5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/i1NYWRlIGJ5IEtyYXNpbWlyYSBOZWpjaGV2YSAod3d3LmxvYWRpbmZvLm5ldCkAIfkEAAoA/wAsAAAAABAAEAAABXDgJY6XZZEoOTnOlI5WdUFNA5UnSR3FJNUSieFAIUUEgcdl4noEBBGSZaHIiSqKhTX2GhVFiQGjuxgkSoYAoosAGE6RhKQrUURHlS+pItMVCHMjEgQ9JBJISg+JT3ciFg4NFkcCNw0OViiDgF0oTC8hACH5BAAKAP8ALAAAAAAQABAAAAVx4CWOZGle1qJYp2hV1xYE29V1JXUYHWUcnQgGwyFFBAENiqUZ1kapFamTyeBcsNOLMkoMGC3GIIEyBBAtRMDAiiSKp04iQqpwc9kRpUCAizgEBVciEQNJFxpKGgECdFAYYBsCAjUMGS0XgAODmDacIyEAIfkEAAoA/wAsAAAAABAAEAAABnbAi3BILBovIMUidBSGQJdNIKBBMomUg6FDMRgoHcOBQowIqNaLJiCIEEMLxdWpnIfITRAHnxgwjiEfDR8UIQYBCEcgDYwdUR6ORxEfG3MgeFiFRB0FBBxEHAQFkUJmaBofamxuRB9/GwICGxeMTRehnrabpERBACH5BAAKAP8ALAAAAAAQABAAAAZ9wItwSCwaL5aFwnIUWiqXUSAwulSYRMrB0KEYDJSO4UAhRgQBDZLpCAgixOSSWFEssEho81IWJgYMTQwDCUgGAQhNCAEGTCMJHU0dCXBDFX1DFhwdeHwFIhxmGBihQxEDaRcOGhYao1WZGIFnAiMUDg6YRR0ioE57Fx2RRkEAIfkEAAoA/wAsAAAAABAAEAAABXLgJY5kaV7WolinaLGQEEBXxZLUUUyUYVATw4FCisg0NZYmIIiQUosKqaJY3FDS1oUoSgwYrcUggTIAEC1EwMCKJCatSYI2qnBx2dGkQOCQOAQFdxdGARoVGhCITE4kGBgWEI8QFgwYWhGTWiMWERFXIyEAIfkEAAoA/wAsAAAAABAAEAAABn/Ai3BILBovloXCchRaKpdRIDC6VJhEysHQoRgMlI7hQCFGBAENkukICCLE5JJYUSywSGjzUhYmBgxNDAMJSAYBCE0IAAZMEQkdTRwKVUMcHHhCFXpDERgYcJYEBZFDI58aFhoOFxpuoUIUGhoUZwJVGA6ZaxccBAQce0QdpUVBACH5BAAKAP8ALAAAAAAQABAAAAZ8wItwSCwaLyEFKXQUhioXSCAAuVSYRMrB0KEYDJSO4UAhmgQBDZKpCQhMxFBJgRVWlFkOtElhUj4NH3VEJQMJFx0NintFCAEGISEQH3BHHR5VThVlRRSMQh0FBBxEHAQFnEJnaRcfHxdtb0WKIWcCVSUNTYgEo7tEHR1HQQAh+QQACgD/ACwAAAAAEAAQAAAGdcCLcEgsGi8hhSJ0FHY6l1EgMLqAmEROo5HqGAwqL5g42qKsoAsqIEgRVacTdAhSLLBI1bWpwiYGDE0MAwlIBgEITQgBBkwjCRxNHQlVdCpGekUqBQSRQxwEBZdDKQIBZ3FqbG5EDYEjpikhW3hFoJ1NRU9HQQA7) no-repeat;width:16px;height:16px;margin:3px 4px 0;float:right}.redux-container #redux-intro-text{background:#f3f3f3;border-bottom:1px solid #dedede;-moz-box-shadow:inset 0 1px 0 #fcfcfc;-webkit-box-shadow:inset 0 1px 0 #fcfcfc;box-shadow:inset 0 1px 0 #fcfcfc;padding:3px;padding:10px 10px}.redux-container #redux-intro-text p{margin:0;font-family:"Lucida Grande", Sans-serif;color:#888}.redux-container .expand_options{cursor:pointer;display:block;height:22px;width:21px;float:left;font-size:0;text-indent:-9999px;margin:1px 0 0 5px;border:1px solid #bbb;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -26px}.redux-container .expand_options.expanded{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAyCAIAAAAm4OfBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQhJREFUeNrslT0KhDAQhTeLR7ATT6IXSKGFYO0lciFrO1N4AU8TLNXKv0CaJbLJRAZxl1hYyJuXN+PoR/Z9fyFdBNNr27Zf8Oq6bhgGSGUYhpTSzyeBNi8hRFVVEK+6rrXaQFOs6yrvTdOYjcqyVEpTLqXI89yaSypBudq2xckF2TipOSvfmmhZFuAGnJV6Licvey5gj7fnwpwXvEfLfqnT0jQ1OBJCQLnUBvZ9b85VFAV076UU8g1ZckVRxBiDzD6OY62WzPOM9i+cpunvvcZxfCQfPWs9a91Ym2UZ5xyHtd/e8hXWng+/zlrD9jmz1tDj7bkw5wXv0Y210itJEs9az9oHsPYQYACveK0/IuB51AAAAABJRU5ErkJggg==) no-repeat -2px -1px}.redux-container .expand_options:hover{border-color:#888}.redux-container .sticky-footer-fixed{background:#f3f3f3;border-top:1px solid #dedede !important;-moz-box-shadow:inset 0 1px 0 #fcfcfc;-webkit-box-shadow:inset 0 1px 0 #fcfcfc;box-shadow:inset 0 1px 0 #fcfcfc}.redux-container .redux-sidebar,.redux-container .redux-main{min-height:300px}.no-js{border:1px solid #ffbaba;margin:0;border-bottom:1px solid #E7E7E7;background-color:#F2DEDE;color:#B94A48;padding:8px 35px 8px 14px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.redux-main{background:#FCFCFC;margin-left:201px;border-left:1px solid #D8D8D8;padding:10px 20px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #FFF;box-shadow:inset 0 1px 0 #FFF;position:relative}.redux-main #redux_ajax_overlay{position:absolute;top:0;left:0;right:0;bottom:0;-moz-opacity:0.10;-khtml-opacity:0.10;opacity:0.10;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=10);filter:alpha(opacity=10);background:#000;z-index:200;display:none}.redux-main .form-table.no-border{border-top:none}.redux-main .form-table tr{border-bottom:1px solid #E7E7E7}.redux-main .form-table tr:last-child{border-bottom:none !important}.redux-main .form-table tr th,.redux-main .form-table tr td{color:#333}.redux-main .form-table tr td table.mceLayout,.redux-main .form-table tr td table.mceLayout tr,.redux-main .form-table tr td table.mceLayout tr td{padding:0;border-width:0}.redux-main .form-table tr td .redux-th-warning{font-size:1em;color:#C09853;font-weight:normal;display:block;margin-top:10px}.redux-main .form-table tr td .redux-field-warning{border-color:#C09853;margin-top:10px}.redux-main .form-table tr td .redux-th-error{font-size:1em;color:#B94A48;font-weight:normal;display:block;margin-top:10px}.redux-main input.large-text{width:100%}.redux-main .hide{display:none}.redux-main .redux-field-container{padding:20px 0}.redux-main .mini,.redux-main input[type=text].mini{width:60px;text-align:center}.redux-main input{line-height:19px}.redux-main img{max-width:100%;height:auto;width:auto !important}.redux-main .select2-default{width:auto !important}.redux-main .showDefaults{display:block;font-weight:normal;font-size:.8em;color:#888}.redux-main span.description{display:block;font-style:normal;font-weight:400}.redux-main #redux-system-info textarea{min-height:730px;width:100%}.redux-main .field-desc{clear:both;font-size:13px}.redux-main .data-full li{width:100%}.redux-main .data-half li{width:50%;float:left}.redux-main .data-third li{width:33.3%;float:left}.redux-main .data-quarter li{width:25%;float:left}.redux-main .ui-helper-hidden-accessible{top:inherit}.redux-main .form-table{clear:none;margin-top:0px !important}.redux-main .form-table tr:first-child th,.redux-main .form-table tr:first-child td{padding-top:0}.redux-main .input-append input{border-right:0;margin-bottom:0;border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0;float:left;margin-top:0;display:block}.redux-main .input-append .add-on{border-top-right-radius:3px;border-bottom-right-radius:3px;margin-left:-2px;padding-top:4px !important;padding-bottom:2px !important;float:left}.redux-main .input-prepend input{border-left:0;margin-bottom:0;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0;padding-top:2px;padding-bottom:5px;float:left;margin-top:0;display:block}.redux-main .input-prepend .add-on{border-top-left-radius:3px;border-bottom-left-radius:3px;float:left}.redux-main .input-append{margin-right:10px;font-size:0;white-space:nowrap;float:left;display:inline-block;margin-bottom:6px}.redux-main .input-append .add-on,.redux-main .input-prepend .add-on{width:auto;display:inline-block;min-width:16px;padding:3px 4px;font-size:12px;font-weight:400;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #cccccc}.redux-main .input-prepend{font-size:0;white-space:nowrap;float:left;display:inline-block;margin-bottom:6px}.redux-main #redux-object-browser{overflow:auto;word-wrap:break-word;max-height:600px;max-width:100%}.redux-sidebar{width:202px;float:left}.redux-sidebar .redux-group-menu{margin-top:0 !important}.redux-sidebar .redux-group-menu li{margin-top:0}.redux-sidebar .redux-group-menu li.active a,.redux-sidebar .redux-group-menu li.active a:hover,.redux-sidebar .redux-group-menu li.activeChild a,.redux-sidebar .redux-group-menu li.activeChild a:hover{background:#FCFCFC;color:#269ad6;width:184px;opacity:1}.redux-sidebar .redux-group-menu li.active a li a{background:#333;padding-left:5px}.redux-sidebar .redux-group-menu li.divide{padding:0;border-width:1px 0;border-style:solid;border-bottom-color:#E7E7E7;border-top-color:#F9F9F9}.redux-sidebar .redux-group-menu li a:first-child{border-top:none}.redux-sidebar .redux-group-menu li a{display:block;padding:10px 4px 10px 14px;background:#e0e0e0;background:transparent;border-width:1px 0;border-style:solid;border-bottom-color:#E7E7E7;border-top-color:#F9F9F9;opacity:0.7;color:#555;font-weight:bold;text-decoration:none;-webkit-transition:none;transition:none}.redux-sidebar .redux-group-menu li a.custom-tab{background:#f6f6f6}.redux-sidebar .redux-group-menu li a img{width:16px;height:16px;position:absolute;left:15px}.redux-sidebar .redux-group-menu li a:hover{background:#e5e5e5;color:#777;opacity:1}.redux-sidebar .redux-menu-warning,.redux-sidebar .redux-menu-error,.redux-sidebar .hasSubSections .extraIconSubsections{display:inline-block;float:right;padding:6px 7px 4px 7px;margin-left:4px;font-family:sans-serif;font-size:9px;font-weight:bold;line-height:9px;border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent}.redux-sidebar .redux-menu-warning i,.redux-sidebar .redux-menu-error i,.redux-sidebar .hasSubSections .extraIconSubsections i{margin-left:-3px;margin-top:-3px}.redux-sidebar .redux-menu-error{background-color:#b94a48;color:#f2dede}.redux-sidebar .redux-menu-warning{background-color:#C09853;color:#FCF8E3}.redux-sidebar ul .subsection{display:none}.redux-sidebar .redux-group-tab-link-a{position:relative;outline:0}.redux-sidebar .redux-group-tab-link-a i{vertical-align:middle;font-size:1.35em;position:absolute}.redux-sidebar .redux-group-tab-link-a span{display:block}.redux-sidebar .redux-group-tab-link-a span.group_title{padding-left:30px}.redux-sidebar .redux-group-tab-link-li a.hasError span.group_title{padding-right:25px}.redux-sidebar #redux-header{text-align:center}.redux-sidebar #redux-header .display_header{float:none}.form-table th,.form-table td{margin:0;padding:0;width:auto}.redux_field_th{font-weight:bold;padding:20px 10px 20px 0px;display:block}.redux_field_th span:first-child{font-weight:normal;display:block;color:#666}.farb-popup-wrapper{position:relative;display:block}.farb-popup{position:absolute;left:40px;top:40px;background-color:white;border:1px solid #222;padding:5px;z-index:100}#ui-datepicker-div{display:none}.mp6 .icon-themes{display:none}.mp6 .redux-container #info_bar{padding:6px 10px 6px 6px}.mp6 .redux-container #info_bar a{margin-top:2px}.redux-timer{text-align:center;font-size:10px;color:#888}.wrap{margin-top:0}@media screen and (max-width: 1124px){.redux-sidebar{width:44px}.redux-sidebar .extraIconSubsections{display:none !important}.redux-sidebar .redux-group-menu li a,.redux-sidebar .redux-group-menu li a:hover,.redux-sidebar .redux-group-menu li.active a,.redux-sidebar .redux-group-menu li.active a:hover,.redux-sidebar .redux-group-menu li.activeChild a,.redux-sidebar .redux-group-menu li.activeChild a:hover{width:auto}.redux-sidebar .redux-group-tab-link-a{position:relative}.redux-sidebar .redux-group-tab-link-a i{position:inherit}.redux-sidebar .redux-group-tab-link-a span{display:none;position:absolute;top:0;left:44px;padding:12px;width:200px;background:#eeeeee;border:1px solid #ccc;-webkit-box-shadow:2px 2px 8px rgba(0,0,0,0.2);-moz-box-shadow:2px 2px 8px rgba(0,0,0,0.2);box-shadow:2px 2px 8px rgba(0,0,0,0.2);border-width:1px 1px 1px 0px;z-index:3}.redux-sidebar .redux-group-tab-link-a:hover>span{display:block}.redux-main{margin-left:43px;width:auto;max-width:100%}table.form-table,.form-table>thead,.form-table>tbody,.form-table>tbody>tr>th,.form-table>tbody>tr>td,.form-table>tbody>tr{display:block;width:100% !important;padding:0px !important}.form-table>tbody>tr>th,.form-table>tbody>tr>td{padding:10px !important}.form-table>tbody>tr>th,.form-table>tbody>tr>td{padding:10px !important}}@media screen and (max-width: 783px){.mp6 .redux-container #info_bar{height:auto;padding-bottom:1px}.mp6 .redux-container #info_bar a{margin-top:5px}}pre{overflow:hidden}#redux-header h2{color:#fff}.admin-color-fresh .button.ui-datepicker-current,.admin-color-fresh button.ui-datepicker-close{background-color:#007db9 !important}.admin-color-fresh .ui-datepicker-buttonpane button.ui-datepicker-current{background:#1e8cbe !important;color:white !important;border:1px solid #104b66 !important}.admin-color-fresh .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-fresh .ui-datepicker-header{background-color:#23282d !important;color:white !important}.admin-color-fresh .ui-datepicker td .ui-state-active{background-color:#007db9 !important;color:white !important}.admin-color-fresh .ui-datepicker td .ui-state-hover{color:#007db9 !important}.admin-color-fresh .ui-datepicker td .ui-state-highlight{background:#0073aa !important;border:1px solid #23282d !important;color:white !important}.admin-color-fresh .redux-container-switch .cb-disable,.admin-color-fresh .redux-container-switch .cb-enable,.admin-color-fresh .ui-state-default,.admin-color-fresh .ui-widget-content .ui-state-default,.admin-color-fresh .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-fresh .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-fresh .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-fresh .redux-container-switch .cb-enable.selected,.admin-color-fresh .redux-container .ui-buttonset .ui-state-active{background-color:#0073aa !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#008bce), to(#0073aa)) !important;background-image:-moz-linear-gradient(top, #008bce, #0073aa) !important;background-image:-ms-linear-gradient(top, #008bce, #0073aa) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #008bce), color-stop(100%, #0073aa)) !important;background-image:-webkit-linear-gradient(top, #008bce, #0073aa) !important;background-image:-o-linear-gradient(top, #008bce, #0073aa) !important;background-image:-linear-gradient(top, #008bce, #0073aa) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#008bce', endColorstr='#0073aa', GradientType=0) !important;border-color:#003f5d !important;border-color:#005077 !important;-webkit-box-shadow:inset 0 1px 0 #00a7f6,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #00a7f6,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-fresh #redux-header{background:#23282d;border-color:#0073aa}.admin-color-fresh #redux-header .display_header span{color:#a0a5aa}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-fresh .redux-sidebar .redux-group-menu li.active a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a{color:#23282d}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#1e8cbe;background:#0d0e10}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#0073aa}.admin-color-fresh .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#23282d}.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#a0a5aa;text-shadow:1px 1px #54595d}.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#23282d;text-shadow:none}.admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#0073aa;text-shadow:1px 1px #002e44}.admin-color-fresh .redux-container-image_select .redux-image-select-selected img{border-color:#0073aa}.admin-color-fresh #redux-footer #redux-share a{color:#0073aa}.admin-color-fresh #redux-footer #redux-share a:hover{color:#002e44}.admin-color-fresh .select2-results .select2-highlighted{background:#0073aa}.admin-color-fresh .select2-drop-active,.admin-color-fresh .select2-container-multi.select2-container-active .select2-choices,.admin-color-fresh .select2-drop.select2-drop-above.select2-drop-active,.admin-color-fresh .select2-container-active .select2-choice,.admin-color-fresh .select2-container-active .select2-choices,.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#0073aa}.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-fresh .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-fresh .noUi-connect{background-color:#007db9 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#0095dd), to(#007db9)) !important;background-image:-moz-linear-gradient(top, #0095dd, #007db9) !important;background-image:-ms-linear-gradient(top, #0095dd, #007db9) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #0095dd), color-stop(100%, #007db9)) !important;background-image:-webkit-linear-gradient(top, #0095dd, #007db9) !important;background-image:-o-linear-gradient(top, #0095dd, #007db9) !important;background-image:-linear-gradient(top, #0095dd, #007db9) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0095dd', endColorstr='#007db9', GradientType=0) !important}.admin-color-light .button.ui-datepicker-current,.admin-color-light button.ui-datepicker-close{background-color:#04b0db !important}.admin-color-light .ui-datepicker-buttonpane button.ui-datepicker-current{background:#0384a4 !important;color:white !important;border:1px solid #013340 !important}.admin-color-light .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-light .ui-datepicker-header{background-color:#888 !important;color:white !important}.admin-color-light .ui-datepicker td .ui-state-active{background-color:#04b0db !important;color:white !important}.admin-color-light .ui-datepicker td .ui-state-hover{color:#04b0db !important}.admin-color-light .ui-datepicker td .ui-state-highlight{background:#04a4cc !important;border:1px solid #888 !important;color:white !important}.admin-color-light .redux-container-switch .cb-disable,.admin-color-light .redux-container-switch .cb-enable,.admin-color-light .ui-state-default,.admin-color-light .ui-widget-content .ui-state-default,.admin-color-light .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-light .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-light .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-light .redux-container-switch .cb-enable.selected,.admin-color-light .redux-container .ui-buttonset .ui-state-active{background-color:#04a4cc !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#05c0ef), to(#04a4cc)) !important;background-image:-moz-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:-ms-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #05c0ef), color-stop(100%, #04a4cc)) !important;background-image:-webkit-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:-o-linear-gradient(top, #05c0ef, #04a4cc) !important;background-image:-linear-gradient(top, #05c0ef, #04a4cc) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#05c0ef', endColorstr='#04a4cc', GradientType=0) !important;border-color:#036881 !important;border-color:#037c9a !important;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-light #redux-header{background:#888;border-color:#04a4cc}.admin-color-light #redux-header .display_header span{color:#e6e6e6}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-light .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-light .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-light .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-light .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-light .redux-sidebar .redux-group-menu li.active,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-light .redux-sidebar .redux-group-menu li.active a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild a{color:#888}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#0384a4;background:#6f6f6f}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#04a4cc}.admin-color-light .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#888}.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#e6e6e6;text-shadow:1px 1px #9a9a9a}.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#888;text-shadow:none}.admin-color-light .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#04a4cc;text-shadow:1px 1px #025468}.admin-color-light .redux-container-image_select .redux-image-select-selected img{border-color:#04a4cc}.admin-color-light #redux-footer #redux-share a{color:#04a4cc}.admin-color-light #redux-footer #redux-share a:hover{color:#025468}.admin-color-light .select2-results .select2-highlighted{background:#04a4cc}.admin-color-light .select2-drop-active,.admin-color-light .select2-container-multi.select2-container-active .select2-choices,.admin-color-light .select2-drop.select2-drop-above.select2-drop-active,.admin-color-light .select2-container-active .select2-choice,.admin-color-light .select2-container-active .select2-choices,.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#04a4cc}.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-light .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-light .noUi-connect{background-color:#04b0db !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#09cafa), to(#04b0db)) !important;background-image:-moz-linear-gradient(top, #09cafa, #04b0db) !important;background-image:-ms-linear-gradient(top, #09cafa, #04b0db) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #09cafa), color-stop(100%, #04b0db)) !important;background-image:-webkit-linear-gradient(top, #09cafa, #04b0db) !important;background-image:-o-linear-gradient(top, #09cafa, #04b0db) !important;background-image:-linear-gradient(top, #09cafa, #04b0db) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#09cafa', endColorstr='#04b0db', GradientType=0) !important}.admin-color-blue .button.ui-datepicker-current,.admin-color-blue button.ui-datepicker-close{background-color:#509dba !important}.admin-color-blue .ui-datepicker-buttonpane button.ui-datepicker-current{background:#db9825 !important;color:white !important;border:1px solid #845c16 !important}.admin-color-blue .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-blue .ui-datepicker-header{background-color:#096484 !important;color:white !important}.admin-color-blue .ui-datepicker td .ui-state-active{background-color:#509dba !important;color:white !important}.admin-color-blue .ui-datepicker td .ui-state-hover{color:#509dba !important}.admin-color-blue .ui-datepicker td .ui-state-highlight{background:#4796b3 !important;border:1px solid #096484 !important;color:white !important}.admin-color-blue .redux-container-switch .cb-disable,.admin-color-blue .redux-container-switch .cb-enable,.admin-color-blue .ui-state-default,.admin-color-blue .ui-widget-content .ui-state-default,.admin-color-blue .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-blue .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-blue .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-blue .redux-container-switch .cb-enable.selected,.admin-color-blue .redux-container .ui-buttonset .ui-state-active{background-color:#4796b3 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#5ea5bf), to(#4796b3)) !important;background-image:-moz-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:-ms-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5ea5bf), color-stop(100%, #4796b3)) !important;background-image:-webkit-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:-o-linear-gradient(top, #5ea5bf, #4796b3) !important;background-image:-linear-gradient(top, #5ea5bf, #4796b3) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5ea5bf', endColorstr='#4796b3', GradientType=0) !important;border-color:#31687c !important;border-color:#39778e !important;-webkit-box-shadow:inset 0 1px 0 #7cb6cb,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #7cb6cb,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-blue #redux-header{background:#096484;border-color:#4796b3}.admin-color-blue #redux-header .display_header span{color:#e2ecf1}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-blue .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-blue .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-blue .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-blue .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-blue .redux-sidebar .redux-group-menu li.active,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-blue .redux-sidebar .redux-group-menu li.active a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild a{color:#096484}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#db9825;background:#064054}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#4796b3}.admin-color-blue .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#096484}.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#e2ecf1;text-shadow:1px 1px #7ba8bf}.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#096484;text-shadow:none}.admin-color-blue .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#4796b3;text-shadow:1px 1px #2a596a}.admin-color-blue .redux-container-image_select .redux-image-select-selected img{border-color:#4796b3}.admin-color-blue #redux-footer #redux-share a{color:#4796b3}.admin-color-blue #redux-footer #redux-share a:hover{color:#2a596a}.admin-color-blue .select2-results .select2-highlighted{background:#4796b3}.admin-color-blue .select2-drop-active,.admin-color-blue .select2-container-multi.select2-container-active .select2-choices,.admin-color-blue .select2-drop.select2-drop-above.select2-drop-active,.admin-color-blue .select2-container-active .select2-choice,.admin-color-blue .select2-container-active .select2-choices,.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#4796b3}.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-blue .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-blue .noUi-connect{background-color:#509dba !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#69abc4), to(#509dba)) !important;background-image:-moz-linear-gradient(top, #69abc4, #509dba) !important;background-image:-ms-linear-gradient(top, #69abc4, #509dba) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #69abc4), color-stop(100%, #509dba)) !important;background-image:-webkit-linear-gradient(top, #69abc4, #509dba) !important;background-image:-o-linear-gradient(top, #69abc4, #509dba) !important;background-image:-linear-gradient(top, #69abc4, #509dba) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#69abc4', endColorstr='#509dba', GradientType=0) !important}.admin-color-coffee .button.ui-datepicker-current,.admin-color-coffee button.ui-datepicker-close{background-color:#ccad93 !important}.admin-color-coffee .ui-datepicker-buttonpane button.ui-datepicker-current{background:#ba906d !important;color:white !important;border:1px solid #835d3e !important}.admin-color-coffee .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-coffee .ui-datepicker-header{background-color:#46403c !important;color:white !important}.admin-color-coffee .ui-datepicker td .ui-state-active{background-color:#ccad93 !important;color:white !important}.admin-color-coffee .ui-datepicker td .ui-state-hover{color:#ccad93 !important}.admin-color-coffee .ui-datepicker td .ui-state-highlight{background:#c7a589 !important;border:1px solid #46403c !important;color:white !important}.admin-color-coffee .redux-container-switch .cb-disable,.admin-color-coffee .redux-container-switch .cb-enable,.admin-color-coffee .ui-state-default,.admin-color-coffee .ui-widget-content .ui-state-default,.admin-color-coffee .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-coffee .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-coffee .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-coffee .redux-container-switch .cb-enable.selected,.admin-color-coffee .redux-container .ui-buttonset .ui-state-active{background-color:#c7a589 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#d2b7a1), to(#c7a589)) !important;background-image:-moz-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:-ms-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #d2b7a1), color-stop(100%, #c7a589)) !important;background-image:-webkit-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:-o-linear-gradient(top, #d2b7a1, #c7a589) !important;background-image:-linear-gradient(top, #d2b7a1, #c7a589) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d2b7a1', endColorstr='#c7a589', GradientType=0) !important;border-color:#ae7d55 !important;border-color:#b78b66 !important;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-coffee #redux-header{background:#46403c;border-color:#c7a589}.admin-color-coffee #redux-header .display_header span{color:#cdcbc9}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-coffee .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-coffee .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-coffee .redux-sidebar .redux-group-menu li.active a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild a{color:#46403c}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#ba906d;background:#2b2724}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#c7a589}.admin-color-coffee .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#46403c}.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#cdcbc9;text-shadow:1px 1px #837e7a}.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#46403c;text-shadow:none}.admin-color-coffee .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#c7a589;text-shadow:1px 1px #9f714b}.admin-color-coffee .redux-container-image_select .redux-image-select-selected img{border-color:#c7a589}.admin-color-coffee #redux-footer #redux-share a{color:#c7a589}.admin-color-coffee #redux-footer #redux-share a:hover{color:#9f714b}.admin-color-coffee .select2-results .select2-highlighted{background:#c7a589}.admin-color-coffee .select2-drop-active,.admin-color-coffee .select2-container-multi.select2-container-active .select2-choices,.admin-color-coffee .select2-drop.select2-drop-above.select2-drop-active,.admin-color-coffee .select2-container-active .select2-choice,.admin-color-coffee .select2-container-active .select2-choices,.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#c7a589}.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-coffee .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-coffee .noUi-connect{background-color:#ccad93 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#d7bfac), to(#ccad93)) !important;background-image:-moz-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:-ms-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #d7bfac), color-stop(100%, #ccad93)) !important;background-image:-webkit-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:-o-linear-gradient(top, #d7bfac, #ccad93) !important;background-image:-linear-gradient(top, #d7bfac, #ccad93) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d7bfac', endColorstr='#ccad93', GradientType=0) !important}.admin-color-ectoplasm .button.ui-datepicker-current,.admin-color-ectoplasm button.ui-datepicker-close{background-color:#a9bd4f !important}.admin-color-ectoplasm .ui-datepicker-buttonpane button.ui-datepicker-current{background:#89993a !important;color:white !important;border:1px solid #474f1e !important}.admin-color-ectoplasm .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-ectoplasm .ui-datepicker-header{background-color:#413256 !important;color:white !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-active{background-color:#a9bd4f !important;color:white !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-hover{color:#a9bd4f !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-highlight{background:#a3b745 !important;border:1px solid #413256 !important;color:white !important}.admin-color-ectoplasm .redux-container-switch .cb-disable,.admin-color-ectoplasm .redux-container-switch .cb-enable,.admin-color-ectoplasm .ui-state-default,.admin-color-ectoplasm .ui-widget-content .ui-state-default,.admin-color-ectoplasm .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-ectoplasm .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-ectoplasm .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-ectoplasm .redux-container-switch .cb-enable.selected,.admin-color-ectoplasm .redux-container .ui-buttonset .ui-state-active{background-color:#a3b745 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#b0c25e), to(#a3b745)) !important;background-image:-moz-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:-ms-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #b0c25e), color-stop(100%, #a3b745)) !important;background-image:-webkit-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:-o-linear-gradient(top, #b0c25e, #a3b745) !important;background-image:-linear-gradient(top, #b0c25e, #a3b745) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b0c25e', endColorstr='#a3b745', GradientType=0) !important;border-color:#727f30 !important;border-color:#829237 !important;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-ectoplasm #redux-header{background:#413256;border-color:#a3b745}.admin-color-ectoplasm #redux-header .display_header span{color:#cbc5d3}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild a{color:#413256}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#89993a;background:#291f36}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#a3b745}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#413256}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#cbc5d3;text-shadow:1px 1px #7d6e91}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#413256;text-shadow:none}.admin-color-ectoplasm .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#a3b745;text-shadow:1px 1px #616d29}.admin-color-ectoplasm .redux-container-image_select .redux-image-select-selected img{border-color:#a3b745}.admin-color-ectoplasm #redux-footer #redux-share a{color:#a3b745}.admin-color-ectoplasm #redux-footer #redux-share a:hover{color:#616d29}.admin-color-ectoplasm .select2-results .select2-highlighted{background:#a3b745}.admin-color-ectoplasm .select2-drop-active,.admin-color-ectoplasm .select2-container-multi.select2-container-active .select2-choices,.admin-color-ectoplasm .select2-drop.select2-drop-above.select2-drop-active,.admin-color-ectoplasm .select2-container-active .select2-choice,.admin-color-ectoplasm .select2-container-active .select2-choices,.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#a3b745}.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ectoplasm .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-ectoplasm .noUi-connect{background-color:#a9bd4f !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#b6c669), to(#a9bd4f)) !important;background-image:-moz-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:-ms-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #b6c669), color-stop(100%, #a9bd4f)) !important;background-image:-webkit-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:-o-linear-gradient(top, #b6c669, #a9bd4f) !important;background-image:-linear-gradient(top, #b6c669, #a9bd4f) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b6c669', endColorstr='#a9bd4f', GradientType=0) !important}.admin-color-midnight .button.ui-datepicker-current,.admin-color-midnight button.ui-datepicker-close{background-color:#e35950 !important}.admin-color-midnight .ui-datepicker-buttonpane button.ui-datepicker-current{background:#d92c23 !important;color:white !important;border:1px solid #811a15 !important}.admin-color-midnight .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-midnight .ui-datepicker-header{background-color:#363b3f !important;color:white !important}.admin-color-midnight .ui-datepicker td .ui-state-active{background-color:#e35950 !important;color:white !important}.admin-color-midnight .ui-datepicker td .ui-state-hover{color:#e35950 !important}.admin-color-midnight .ui-datepicker td .ui-state-highlight{background:#e14d43 !important;border:1px solid #363b3f !important;color:white !important}.admin-color-midnight .redux-container-switch .cb-disable,.admin-color-midnight .redux-container-switch .cb-enable,.admin-color-midnight .ui-state-default,.admin-color-midnight .ui-widget-content .ui-state-default,.admin-color-midnight .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-midnight .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-midnight .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-midnight .redux-container-switch .cb-enable.selected,.admin-color-midnight .redux-container .ui-buttonset .ui-state-active{background-color:#e14d43 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e66a62), to(#e14d43)) !important;background-image:-moz-linear-gradient(top, #e66a62, #e14d43) !important;background-image:-ms-linear-gradient(top, #e66a62, #e14d43) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e66a62), color-stop(100%, #e14d43)) !important;background-image:-webkit-linear-gradient(top, #e66a62, #e14d43) !important;background-image:-o-linear-gradient(top, #e66a62, #e14d43) !important;background-image:-linear-gradient(top, #e66a62, #e14d43) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e66a62', endColorstr='#e14d43', GradientType=0) !important;border-color:#ba281e !important;border-color:#d02c21 !important;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-midnight #redux-header{background:#363b3f;border-color:#e14d43}.admin-color-midnight #redux-header .display_header span{color:#c2c4c5}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-midnight .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-midnight .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-midnight .redux-sidebar .redux-group-menu li.active a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild a{color:#363b3f}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#d92c23;background:#1e2124}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#e14d43}.admin-color-midnight .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#363b3f}.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#c2c4c5;text-shadow:1px 1px #74787a}.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#363b3f;text-shadow:none}.admin-color-midnight .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#e14d43;text-shadow:1px 1px #a4231a}.admin-color-midnight .redux-container-image_select .redux-image-select-selected img{border-color:#e14d43}.admin-color-midnight #redux-footer #redux-share a{color:#e14d43}.admin-color-midnight #redux-footer #redux-share a:hover{color:#a4231a}.admin-color-midnight .select2-results .select2-highlighted{background:#e14d43}.admin-color-midnight .select2-drop-active,.admin-color-midnight .select2-container-multi.select2-container-active .select2-choices,.admin-color-midnight .select2-drop.select2-drop-above.select2-drop-active,.admin-color-midnight .select2-container-active .select2-choice,.admin-color-midnight .select2-container-active .select2-choices,.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#e14d43}.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-midnight .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-midnight .noUi-connect{background-color:#e35950 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e8776f), to(#e35950)) !important;background-image:-moz-linear-gradient(top, #e8776f, #e35950) !important;background-image:-ms-linear-gradient(top, #e8776f, #e35950) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e8776f), color-stop(100%, #e35950)) !important;background-image:-webkit-linear-gradient(top, #e8776f, #e35950) !important;background-image:-o-linear-gradient(top, #e8776f, #e35950) !important;background-image:-linear-gradient(top, #e8776f, #e35950) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e8776f', endColorstr='#e35950', GradientType=0) !important}.admin-color-ocean .button.ui-datepicker-current,.admin-color-ocean button.ui-datepicker-close{background-color:#a7c0a9 !important}.admin-color-ocean .ui-datepicker-buttonpane button.ui-datepicker-current{background:#86a988 !important;color:white !important;border:1px solid #547555 !important}.admin-color-ocean .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-ocean .ui-datepicker-header{background-color:#627c83 !important;color:white !important}.admin-color-ocean .ui-datepicker td .ui-state-active{background-color:#a7c0a9 !important;color:white !important}.admin-color-ocean .ui-datepicker td .ui-state-hover{color:#a7c0a9 !important}.admin-color-ocean .ui-datepicker td .ui-state-highlight{background:#9ebaa0 !important;border:1px solid #627c83 !important;color:white !important}.admin-color-ocean .redux-container-switch .cb-disable,.admin-color-ocean .redux-container-switch .cb-enable,.admin-color-ocean .ui-state-default,.admin-color-ocean .ui-widget-content .ui-state-default,.admin-color-ocean .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-ocean .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-ocean .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-ocean .redux-container-switch .cb-enable.selected,.admin-color-ocean .redux-container .ui-buttonset .ui-state-active{background-color:#9ebaa0 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#b3c9b4), to(#9ebaa0)) !important;background-image:-moz-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:-ms-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #b3c9b4), color-stop(100%, #9ebaa0)) !important;background-image:-webkit-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:-o-linear-gradient(top, #b3c9b4, #9ebaa0) !important;background-image:-linear-gradient(top, #b3c9b4, #9ebaa0) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3c9b4', endColorstr='#9ebaa0', GradientType=0) !important;border-color:#719a74 !important;border-color:#80a583 !important;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-ocean #redux-header{background:#627c83;border-color:#9ebaa0}.admin-color-ocean #redux-header .display_header span{color:#d5dddf}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-ocean .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-ocean .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-ocean .redux-sidebar .redux-group-menu li.active a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild a{color:#627c83}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#86a988;background:#4c6066}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#9ebaa0}.admin-color-ocean .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#627c83}.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#d5dddf;text-shadow:1px 1px #7e979d}.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#627c83;text-shadow:none}.admin-color-ocean .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#9ebaa0;text-shadow:1px 1px #658d68}.admin-color-ocean .redux-container-image_select .redux-image-select-selected img{border-color:#9ebaa0}.admin-color-ocean #redux-footer #redux-share a{color:#9ebaa0}.admin-color-ocean #redux-footer #redux-share a:hover{color:#658d68}.admin-color-ocean .select2-results .select2-highlighted{background:#9ebaa0}.admin-color-ocean .select2-drop-active,.admin-color-ocean .select2-container-multi.select2-container-active .select2-choices,.admin-color-ocean .select2-drop.select2-drop-above.select2-drop-active,.admin-color-ocean .select2-container-active .select2-choice,.admin-color-ocean .select2-container-active .select2-choices,.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#9ebaa0}.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-ocean .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-ocean .noUi-connect{background-color:#a7c0a9 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#bccfbd), to(#a7c0a9)) !important;background-image:-moz-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:-ms-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #bccfbd), color-stop(100%, #a7c0a9)) !important;background-image:-webkit-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:-o-linear-gradient(top, #bccfbd, #a7c0a9) !important;background-image:-linear-gradient(top, #bccfbd, #a7c0a9) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bccfbd', endColorstr='#a7c0a9', GradientType=0) !important}.admin-color-sunrise .button.ui-datepicker-current,.admin-color-sunrise button.ui-datepicker-close{background-color:#df8a48 !important}.admin-color-sunrise .ui-datepicker-buttonpane button.ui-datepicker-current{background:#cc6c23 !important;color:white !important;border:1px solid #753e14 !important}.admin-color-sunrise .ui-datepicker-header .ui-icon{background-image:url(data:image/png;base64,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) !important}.admin-color-sunrise .ui-datepicker-header{background-color:#b43c38 !important;color:white !important}.admin-color-sunrise .ui-datepicker td .ui-state-active{background-color:#df8a48 !important;color:white !important}.admin-color-sunrise .ui-datepicker td .ui-state-hover{color:#df8a48 !important}.admin-color-sunrise .ui-datepicker td .ui-state-highlight{background:#dd823b !important;border:1px solid #b43c38 !important;color:white !important}.admin-color-sunrise .redux-container-switch .cb-disable,.admin-color-sunrise .redux-container-switch .cb-enable,.admin-color-sunrise .ui-state-default,.admin-color-sunrise .ui-widget-content .ui-state-default,.admin-color-sunrise .ui-widget-header .ui-state-default{background-color:#f5f5f5 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f5f5f5)) !important;background-image:-moz-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-ms-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f8f8), color-stop(100%, #f5f5f5)) !important;background-image:-webkit-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-o-linear-gradient(top, #f8f8f8, #f5f5f5) !important;background-image:-linear-gradient(top, #f8f8f8, #f5f5f5) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f5f5f5', GradientType=0) !important;border-color:#ccc !important}.admin-color-sunrise .ui-datepicker td .ui-state-active{color:black !important;font-weight:700 !important;background:white !important}.admin-color-sunrise .redux-container-switch .cb-disable.selected{background-color:#646464 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#929292), to(#646464)) !important;background-image:-moz-linear-gradient(top, #929292, #646464) !important;background-image:-ms-linear-gradient(top, #929292, #646464) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #929292), color-stop(100%, #646464)) !important;background-image:-webkit-linear-gradient(top, #929292, #646464) !important;background-image:-o-linear-gradient(top, #929292, #646464) !important;background-image:-linear-gradient(top, #929292, #646464) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#929292', endColorstr='#646464', GradientType=0) !important;border-color:#767676 !important}.admin-color-sunrise .redux-container-switch .cb-enable.selected,.admin-color-sunrise .redux-container .ui-buttonset .ui-state-active{background-color:#dd823b !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e29559), to(#dd823b)) !important;background-image:-moz-linear-gradient(top, #e29559, #dd823b) !important;background-image:-ms-linear-gradient(top, #e29559, #dd823b) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e29559), color-stop(100%, #dd823b)) !important;background-image:-webkit-linear-gradient(top, #e29559, #dd823b) !important;background-image:-o-linear-gradient(top, #e29559, #dd823b) !important;background-image:-linear-gradient(top, #e29559, #dd823b) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e29559', endColorstr='#dd823b', GradientType=0) !important;border-color:#ad5d1e !important;border-color:#c36922 !important;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,0.15) !important;box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,0.15) !important}.admin-color-sunrise #redux-header{background:#b43c38;border-color:#dd823b}.admin-color-sunrise #redux-header .display_header span{color:#f0c8c6}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a{position:relative}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:after{border:0 none !important;content:"\0020" !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.hasSubSections .redux-menu-error{display:none;margin-right:5px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.hasSubSections a.hasError .extraIconSubsections{background-color:#b94a48;color:#f2dede}.admin-color-sunrise .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;border:0 solid transparent;float:right;font-size:9px;height:9px;line-height:9px;margin-right:5px;padding:6px 7px 4px 7px;width:5px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active a .extraIconSubsections,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild a .extraIconSubsections{display:none}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections .redux-menu-error,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .redux-menu-error{display:block}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections .subsection .redux-menu-error,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .subsection .redux-menu-error{margin-right:2px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild{border-left:0 none}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild a{color:#b43c38}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections .active a:after,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after{right:0;border:solid 8px transparent;content:"\0020";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#fff;top:50%;margin-top:-8px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{-webkit-transition:all 0.2s;-moz-transition:all 0.2s;transition:all 0.2s;color:#fff;width:auto;border-bottom:0}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li{border-top:0 none !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.active a:hover,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a:hover{color:#fff}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{width:auto;border-top:0 !important;padding:7px;color:#fff;padding-left:15px;-webkit-transition:all 0.2;-moz-transition:all 0.2;-ms-transition:all 0.2;-o-transition:all 0.2;transition:all 0.2}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a:hover,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover{color:#cc6c23;background:#8d2f2c}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a span.group_title,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a span.group_title{padding-left:5px !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a{padding-left:14px}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li.hasIcon a span.group_title,.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.hasIcon a span.group_title{padding-left:30px !important}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections a{background:#dd823b}.admin-color-sunrise .redux-sidebar .redux-group-menu li.active.hasSubSections ul.subsection li a{background:#b43c38}.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections a{background:#f0c8c6;text-shadow:1px 1px #d0534d}.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a{background:#b43c38;text-shadow:none}.admin-color-sunrise .redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a{background:#dd823b;text-shadow:1px 1px #98511a}.admin-color-sunrise .redux-container-image_select .redux-image-select-selected img{border-color:#dd823b}.admin-color-sunrise #redux-footer #redux-share a{color:#dd823b}.admin-color-sunrise #redux-footer #redux-share a:hover{color:#98511a}.admin-color-sunrise .select2-results .select2-highlighted{background:#dd823b}.admin-color-sunrise .select2-drop-active,.admin-color-sunrise .select2-container-multi.select2-container-active .select2-choices,.admin-color-sunrise .select2-drop.select2-drop-above.select2-drop-active,.admin-color-sunrise .select2-container-active .select2-choice,.admin-color-sunrise .select2-container-active .select2-choices,.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choices{border-color:#dd823b}.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choice,.admin-color-sunrise .select2-dropdown-open.select2-drop-above .select2-choices{border-top:inherit}.admin-color-sunrise .noUi-connect{background-color:#df8a48 !important;background-image:-khtml-gradient(linear, left top, left bottom, from(#e59e66), to(#df8a48)) !important;background-image:-moz-linear-gradient(top, #e59e66, #df8a48) !important;background-image:-ms-linear-gradient(top, #e59e66, #df8a48) !important;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #e59e66), color-stop(100%, #df8a48)) !important;background-image:-webkit-linear-gradient(top, #e59e66, #df8a48) !important;background-image:-o-linear-gradient(top, #e59e66, #df8a48) !important;background-image:-linear-gradient(top, #e59e66, #df8a48) !important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e59e66', endColorstr='#df8a48', GradientType=0) !important}@media screen and (max-width: 1124px){.redux-group-tab-link-a span{padding:11px 12px;color:#555;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s}.redux-group-tab-link-a span:hover{background:#e5e5e5}}@media screen and (max-width: 782px){#redux-footer #redux-share{line-height:38px;font-size:18px}.sticky-save-warn .redux-save-warn{right:13px;top:46px}.redux-container .expand_options{margin-top:5px}.redux-action_bar input{margin-bottom:0 !important}}@media screen and (max-width: 650px){#redux-footer #redux-share,.redux-hint-qtip{display:none}.redux-container .redux-action_bar{float:none}}@media screen and (max-width: 476px){.redux-container .expand_options{display:none}#redux-footer,.redux-container #info_bar{text-align:center}}.redux-sidebar .icon-large,.redux-main .icon-large{background-image:inherit !important;width:inherit;height:inherit}.redux-main dd,.redux-main li,.redux-sidebar li{margin-bottom:0 !important}.fully-expanded .redux-sidebar{margin-left:-500px}.fully-expanded .redux-main{margin-left:0}.fully-expanded .redux-group-tab{display:block}@media screen and (max-width: 1124px){.form-table>tbody>tr>th{padding-bottom:0 !important}.redux_field_th{padding-top:0;padding-bottom:0}.redux-main .redux-field-container{padding-top:0;padding-bottom:0}}@media screen and (min-width: 601px) and (max-width: 782px){.redux-container .sticky-save-warn .redux-save-warn{top:47px !important;right:13px !important}}@media screen and (max-width: 782px){.redux-main .form-table-section-indented input[type=text]{width:95% !important}.redux-main .redux-container-sortable input[type=text]{width:80%;display:initial}.redux-main .redux-typography-container .input_wrapper input.mini{font-size:16px !important;height:40px !important;padding:7px 10px !important;line-height:24px !important}.redux-main .redux-typography-container .picker-wrapper label{margin-top:16px !important}.redux-main .input-append{height:50px !important}.redux-main .input-append .add-on{font-size:16px;line-height:24px !important;padding:7px;height:32px !important;float:right;margin-top:-40px}.redux-main .redux-hint-qtip{float:left !important}}@media screen and (max-width: 600px){.sticky-save-warn .redux-save-warn{top:0 !important;right:14px !important}}@media screen and (max-width: 570px){.redux-main .redux-container-sortable .checkbox-container{width:85%;padding-bottom:5px}.redux-main .redux-container-sortable .checkbox-container label{display:initial}}#redux-header{position:relative}.redux-main{position:relative}.redux-main #redux-sticky{min-height:32px;margin-left:-20px;margin-right:-20px;margin-top:-10px;margin-bottom:8px}.redux-main #redux-sticky #info_bar{height:32px}.redux-main #redux-sticky #info_bar .expand_options{margin-top:4px}.redux-main .redux_field_search{top:50px;right:5px}.redux-main #redux-footer-sticky{margin-left:-20px;margin-right:-20px;margin-bottom:-10px} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.scss index 48bb3404..331a7350 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.scss +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-admin.scss @@ -16,7 +16,7 @@ background-image: -ms-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%); /* IE10+ */ background-image: -o-linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%); /* Opera 11.10+ */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#eeeeee', GradientType=0); /* IE6-9 */ - background-image: linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%); /* W3C */ + background-image: -linear-gradient(top, #f2f2f2 0%, #f5f5f5 100%); /* W3C */ border: 1px solid #dedede; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .04); box-shadow: 0 1px 1px rgba(0, 0, 0, .04); @@ -29,7 +29,7 @@ box-shadow: none; } } - + .hr { height: 20px; line-height: 20px; @@ -92,8 +92,30 @@ padding-right: 5px; } + .redux-dev-mode-notice-container { + position: absolute; + top: 67px; + left: 20px; + bottom: auto; + width: auto; + } + span { color: #888; + + &.redux-dev-mode-notice { + //position: absolute; + background-color: #f0ad4e; + display: inline; + padding: .2em .5em .2em; + font-weight: 700; + line-height: 1; + color: #fff !important; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; + } } } @@ -160,6 +182,20 @@ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } + .redux-field-error { + input, textarea, checkbox { + background-color: #FFF6F6; + color: #A00; + } + + } + .redux-field-warning { + input, textarea, checkbox { + background-color: #fcf8e3; + color: #444; + } + } + .redux-field-errors, .redux-field-warnings, .redux-save-warn { @@ -191,7 +227,7 @@ .redux-group-tab { display: none; - margin-bottom: 30px; + margin-bottom: 15px; .redux-theme-data { padding: 20px 0; @@ -224,6 +260,10 @@ .redux-action_bar { float: right; + .spinner { + float: left; + margin-top: 4px; + } } .redux-ajax-loading { @@ -311,7 +351,21 @@ -webkit-box-shadow: inset 0 1px 0 #FFF; box-shadow: inset 0 1px 0 #FFF; position: relative; - + #redux_ajax_overlay { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + -moz-opacity: 0.10; + -khtml-opacity: 0.10; + opacity: 0.10; + filter: progid:DXImageTransform.Microsoft.Alpha(opacity=10); + filter: alpha(opacity=10); + background: #000; + z-index: 200; + display: none; + } .form-table.no-border { border-top: none; } @@ -339,10 +393,12 @@ color: #C09853; font-weight: normal; display: block; + margin-top: 10px; } .redux-field-warning { border-color: #C09853; + margin-top: 10px; } .redux-th-error { @@ -350,6 +406,7 @@ color: #B94A48; font-weight: normal; display: block; + margin-top: 10px; } } @@ -367,10 +424,10 @@ .mini, input[type=text].mini { - width: 50px; + width: 60px; text-align: center; } - + input { line-height: 19px; } @@ -431,8 +488,8 @@ top: inherit; } - .form-table:first-child tr th, .redux-main .form-table:first-child tr td { - padding-top: 0 !important; + .form-table:first-child > tr th, .redux-main .form-table:first-child > tr td { + //padding-top: 0 !important; } .form-table { @@ -441,7 +498,7 @@ &:first-child tr th, &:first-child tr td { - padding-top: 0 !important; + // padding-top: 0 !important; } tr:first-child th, @@ -456,7 +513,7 @@ border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: 0; - float:left; + float: left; margin-top: 0; display: block; } @@ -476,7 +533,7 @@ margin-left: 0; padding-top: 2px; padding-bottom: 5px; - float:left; + float: left; margin-top: 0; display: block; } @@ -537,8 +594,7 @@ &.active a, &.active a:hover, &.activeChild a, - &.activeChild a:hover - { + &.activeChild a:hover { background: #FCFCFC; color: #269ad6; width: 184px; @@ -614,7 +670,7 @@ -moz-border-radius: 10px; -webkit-border-radius: 10px; border: 0 solid transparent; - margin-right: 5px; + //margin-right: 5px; i { margin-left: -3px; @@ -656,6 +712,13 @@ padding-right: 25px; } + #redux-header { + text-align: center; + + .display_header { + float: none; + } + } } /* sidebar */ @@ -826,89 +889,89 @@ pre { } @mixin backgroundGradient($to: darken($to, 5%), $from: lighten($to, 7%)) { - background-color: $to!important; - background-image: -khtml-gradient(linear, left top, left bottom, from($from), to($to))!important; - background-image: -moz-linear-gradient(top, $from, $to)!important; - background-image: -ms-linear-gradient(top, $from, $to)!important; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $from), color-stop(100%, $to))!important; - background-image: -webkit-linear-gradient(top, $from, $to)!important; - background-image: -o-linear-gradient(top, $from, $to)!important; - background-image: linear-gradient(top, $from, $to)!important; - - c: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$from}', endColorstr='#{$to}', GradientType=0)!important; + background-color: $to !important; + background-image: -khtml-gradient(linear, left top, left bottom, from($from), to($to)) !important; + background-image: -moz-linear-gradient(top, $from, $to) !important; + background-image: -ms-linear-gradient(top, $from, $to) !important; + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $from), color-stop(100%, $to)) !important; + background-image: -webkit-linear-gradient(top, $from, $to) !important; + background-image: -o-linear-gradient(top, $from, $to) !important; + background-image: -linear-gradient(top, $from, $to) !important; + + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$from}', endColorstr='#{$to}', GradientType=0) !important; } -@mixin adminThemeColorOverrides ($darkColor, $accentColor, $secondaryColor, $buttonPrimary) { +@mixin adminThemeColorOverrides($darkColor, $accentColor, $secondaryColor, $buttonPrimary) { .button.ui-datepicker-current, button.ui-datepicker-close { - background-color: lighten($accentColor, 3%)!important; + background-color: lighten($accentColor, 3%) !important; } .ui-datepicker-buttonpane button.ui-datepicker-current { - background: $buttonPrimary!important; - color: white!important; - border: 1px solid darken($buttonPrimary, 20%)!important; + background: $buttonPrimary !important; + color: white !important; + border: 1px solid darken($buttonPrimary, 20%) !important; } .ui-datepicker-header .ui-icon { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEX8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vz8/vywC3+8AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==)!important; + background-image: url(data:image/png;base64,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) !important; } .ui-datepicker-header { - background-color: $secondaryColor!important; - color: white!important; + background-color: $secondaryColor !important; + color: white !important; } .ui-datepicker td .ui-state-active { - background-color: lighten($accentColor, 3%)!important; - color: white!important; + background-color: lighten($accentColor, 3%) !important; + color: white !important; } .ui-datepicker td .ui-state-hover { - color: lighten($accentColor, 3%)!important; + color: lighten($accentColor, 3%) !important; } .ui-datepicker td .ui-state-highlight { - background: $accentColor!important; - border: 1px solid $secondaryColor!important; - color: white!important; + background: $accentColor !important; + border: 1px solid $secondaryColor !important; + color: white !important; } .redux-container-switch .cb-disable, - .redux-container-switch .cb-enable, + .redux-container-switch .cb-enable, .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { @include backgroundGradient(#f5f5f5, #f8f8f8); - border-color: #ccc!important; + border-color: #ccc !important; } .ui-datepicker td .ui-state-active { - color: black!important; - font-weight: 700!important; - background: white!important; + color: black !important; + font-weight: 700 !important; + background: white !important; } .redux-container-switch .cb-disable.selected { @include backgroundGradient(#646464, #929292); - border-color: #767676!important; + border-color: #767676 !important; } .redux-container-switch .cb-enable.selected, .redux-container .ui-buttonset .ui-state-active { @include backgroundGradient($accentColor); - border-color: darken($accentColor, 15%)!important; - border-color: darken($accentColor, 10%)!important; - -webkit-box-shadow: inset 0 1px 0 lighten($accentColor, 15%), 0 1px 0 rgba(0, 0, 0, .15)!important; - box-shadow: inset 0 1px 0 lighten($accentColor, 15%), 0 1px 0 rgba(0, 0, 0, .15)!important; + border-color: darken($accentColor, 15%) !important; + border-color: darken($accentColor, 10%) !important; + -webkit-box-shadow: inset 0 1px 0 lighten($accentColor, 15%), 0 1px 0 rgba(0, 0, 0, .15) !important; + box-shadow: inset 0 1px 0 lighten($accentColor, 15%), 0 1px 0 rgba(0, 0, 0, .15) !important; } #redux-header { background: $secondaryColor; border-color: $accentColor; - + .display_header span { color: $darkColor; } @@ -990,7 +1053,7 @@ pre { } } } - + .redux-sidebar .redux-group-menu { li.active, li.activeChild { @@ -1041,8 +1104,8 @@ pre { -o-transition: all 0.2; transition: all 0.2; &:hover { - color: #2ea2cc; - background: #000; + color: $buttonPrimary; + background: darken($secondaryColor, 10%); } span.group_title { padding-left: 5px !important; @@ -1074,14 +1137,17 @@ pre { &.hasSubSections { a { background: $darkColor; + text-shadow: 1px 1px darken($darkColor, 30%); } ul.subsection li { a { - background: $secondaryColor; + background: $secondaryColor; + text-shadow: none; } &.active { a { background: $accentColor; + text-shadow: 1px 1px darken($accentColor, 20%); } } } @@ -1121,7 +1187,7 @@ pre { /* Light fresh theme */ .admin-color-fresh { - @include adminThemeColorOverrides(#bbb, #0074a2, #222222, #1e8cbe); + @include adminThemeColorOverrides(#a0a5aa, #0073aa, #23282d, #1e8cbe); } /* Light admin theme */ @@ -1342,27 +1408,12 @@ pre { #redux-header { position: relative; } -.redux-container #redux-header .display_header span.redux-dev-mode-notice { - position: absolute; - left: 20px; - bottom: 9px; - background-color: #f0ad4e; - display: inline; - padding: .2em .6em .3em; - font-weight: 700; - line-height: 1; - color: #fff !important; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25em; -} /* Leftovers? */ /*.shadow1 { position: relative; - + &:before, &:after { z-index: -1; @@ -1383,7 +1434,7 @@ pre { -ms-transform: rotate(-3deg); transform: rotate(-3deg); } - + &:after { -webkit-transform: rotate(3deg); -moz-transform: rotate(3deg); @@ -1391,7 +1442,7 @@ pre { -ms-transform: rotate(3deg); transform: rotate(3deg); right: 10px; - left: auto; + left: auto; } }*/ @@ -1414,14 +1465,42 @@ pre { margin: 5px 4px 0; float: left; } - + .ajax-loading { margin: 3px 4px 0; float: right; } - + .ajax-reset-loading-img { display: block; margin-left: 100px; } -}*/ \ No newline at end of file +}*/ + +// Modern Theme + +.redux-main { + position: relative; + #redux-sticky { + min-height: 32px; + margin-left: -20px; + margin-right: -20px; + margin-top: -10px; + margin-bottom: 8px; + #info_bar { + height: 32px; + .expand_options { + margin-top: 4px; + } + } + } + .redux_field_search { + top: 50px; + right: 5px; + } + #redux-footer-sticky { + margin-left: -20px; + margin-right: -20px; + margin-bottom: -10px; + } +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-fields.css b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-fields.css index f7878403..0767b3d0 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-fields.css +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/redux-fields.css @@ -1 +1 @@ -.redux-container-ace_editor .ace-wrapper{position:static}.redux-container-ace_editor .ace_editor{height:200px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-ace_editor .ace_gutter{z-index:1!important}.redux-main .redux-container-background .redux-background-attachment,.redux-main .redux-container-background .redux-background-attachment select,.redux-main .redux-container-background .redux-background-clip,.redux-main .redux-container-background .redux-background-clip select,.redux-main .redux-container-background .redux-background-origin,.redux-main .redux-container-background .redux-background-origin select,.redux-main .redux-container-background .redux-background-position,.redux-main .redux-container-background .redux-background-position select,.redux-main .redux-container-background .redux-background-repeat,.redux-main .redux-container-background .redux-background-repeat select,.redux-main .redux-container-background .redux-background-size,.redux-main .redux-container-background .redux-background-size select{width:200px!important;margin-right:10px;margin-bottom:7px}.redux-main .redux-container-background .background-preview{display:block;width:100%;margin:5px 0 10px;border:1px dotted #d3d3d3}.redux-main .redux-container-background .select2-container{margin-right:10px;margin-bottom:10px}.redux-main .redux-container-background .wp-picker-container{margin-bottom:10px}.redux-main .redux-container-background .upload{width:100%;margin-bottom:8px}.redux-main .redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.redux-container-border .select2-container{float:left;display:block;margin-right:10px}.redux-container-border .select_wrapper{float:left;width:inherit}.redux-container-border .select_wrapper select{width:80px;float:left}.redux-container-border .field-border-input{margin-right:10px;margin-bottom:7px}.redux-container-border .wp-picker-container{margin-top:2px}@media screen and (max-width:782px){.redux-container-border .field-border-input input{display:inline-block!important;width:100px!important}.redux-container-border .field-border-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-border .select_wrapper{margin-top:6px}}.redux-container-checkbox label{vertical-align:top;width:100%}.redux-container-checkbox label .field-desc{margin-top:0;float:left;width:93%;clear:none}.redux-container-color_gradient .colorGradient{display:inline-block}.redux-container-color_gradient .toLabel{padding-left:18px}@media screen and (max-width:660px){.redux-container-color_gradient .colorGradient{display:block;text-align:center!important}}.sp-container,.sp-replacer{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.sp-replacer.focus,.sp-replacer.hover,.sp-replacer:focus,.sp-replacer:hover{background:#fafafa;border-color:#999;color:#222}.sp-replacer.focus,.sp-replacer:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.sp-replacer.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.sp-replacer.active,.sp-replacer.active:hover,.sp-replacer:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}#ui-datepicker-div{z-index:15!important}.ui-datepicker-header{background-color:#00abef}.redux-dimensions-container .select_wrapper,.redux-dimensions-container select{width:80px!important;float:left}.redux-dimensions-container .field-dimensions-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width:782px){.redux-dimensions-container .field-dimensions-input input{display:inline-block!important;width:100px!important}.redux-dimensions-container .field-dimensions-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-dimensions-container .select_wrapper{margin-top:6px}}.redux-container-editor .mceLayout td{border-width:1px;margin:0;padding:1px}.redux-container-editor input,.redux-container-editor textarea{margin:inherit}.redux-container-editor textarea{border:0;border-width:0}.redux-container-editor .wp-editor-container{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-editor .wp-editor-container textarea{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-style:inherit}.redux-container-editor .quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial,Helvetica,sans-serif normal;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background:-webkit-gradient(linear,left bottom,left top,from(#e3e3e3),to(#fff)) #eee;background:-webkit-linear-gradient(bottom,#e3e3e3,#fff) #eee;background:-moz-linear-gradient(bottom,#e3e3e3,#fff) #eee;background:-o-linear-gradient(bottom,#e3e3e3,#fff) #eee;background:linear-gradient(to top,#e3e3e3,#fff) #eee}.redux-container-image_select .redux-table-container{display:table;table-layout:fixed;width:100%}.redux-container-image_select .redux-image-select{margin:0!important}.redux-container-image_select .redux-image-select .tiles{display:block;background-color:#FFF;background-repeat:repeat;width:40px;height:40px}.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select img{border-color:#d9d9d9}.redux-container-image_select .redux-image-select li:last-child{margin-bottom:0}.redux-container-image_select .redux-image-select input[type=radio]{display:none}.redux-container-image_select .redux-image-select-presets img{width:100%}.redux-container-image_select ul.redux-image-select li{margin:0 10px 3px;display:inline-block;padding:0 10px 0 0}.redux-container-image_select .redux-image-select-selected{background-color:#f9f9f9}.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select-selected .tiles,.redux-container-image_select .redux-image-select-selected img{border-width:4px;border-style:solid}.redux-container-image_select .redux-image-select-selected .tiles{border-color:#7a7a7a}.redux-info-field{min-height:20px;padding:8px 19px;margin:10px 0;border-radius:4px;border:1px solid;position:relative}.redux-info-field h1,.redux-info-field h2,.redux-info-field h3,.redux-info-field h4,.redux-info-field h5,.redux-info-field h6{border-bottom:0!important}.redux-info-field h3{color:#777}.redux-info-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-info-field .redux-info-icon i{font-size:2em}.redux-info-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-info-field.redux-normal{background-color:#eee;border-color:#ccc;color:#666}.redux-info-field.redux-normal i{color:#c5c5c5}.redux-info-field.redux-warning{background-color:#fbeba4;border-color:#d7c281;color:#958234}.redux-info-field.redux-warning i{color:#dcca81}.redux-info-field.redux-success{background-color:#c4ee91;border-color:#71af5d;color:#4d7615}.redux-info-field.redux-success i{color:#a0ca6c}.redux-info-field.redux-critical{background-color:#fba1a3;border-color:#b84f5b;color:#981225}.redux-info-field.redux-critical i{color:#dd767d}.redux-info-field.redux-info{background-color:#d3e4f4;border-color:#a9b6c2;color:#5c80a1}.redux-info-field.redux-info i{color:#afc6da}.redux-notice-field{margin:5px 0 15px;background-color:#fff;border:0;border-left:4px solid #f3f3f3;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:1px 12px}.redux-notice-field p{margin:.5em 0;padding:2px}.redux-notice-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-notice-field .redux-info-icon i{font-size:2em}.redux-notice-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-notice-field.redux-info{border-left:4px solid #0099d5}.redux-notice-field.redux-success{border-left:4px solid #7ad03a}.redux-notice-field.redux-warning{border-left:4px solid #fbeba4}.redux-notice-field.redux-critical{border-left:4px solid #dd3d36}.redux-container-link_color .linkColor{display:inline-block;padding-right:10px;padding-bottom:7px}.redux-main .button.remove-image,.redux-main .removeCSS{margin-left:10px;color:#ef521d}.redux-main .button.remove-image:hover,.redux-main .removeCSS:hover{color:red}.redux-main .upload_button_div{margin-bottom:5px}.redux-main .upload-error{float:left;color:#666;font-size:10px;font-weight:700;text-decoration:none;text-shadow:1px 1px 0 #FFF;margin:0 10px 0 0;padding:3px 10px;background:#FFDFEC;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .reset-button{font-family:Arial,Verdana,sans-serif;float:left;margin:0;color:#ef521d;border-color:#bbb}.redux-main .redux-option-image{max-height:340px;max-width:340px;padding:5px;margin-bottom:0;margin-top:10px;margin-right:15px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-main .redux-main .upload{width:80%!important}.redux-main .button{margin-top:2px}.redux-container-multi_text ul.redux-multi-text{margin:0;padding:0}.redux-container-multi_text .redux-multi-text-remove{color:red;padding:2px 4px;margin-left:5px}.redux-container-multi_text .redux-multi-text-remove:hover{background:red;color:#fff;text-decoration:none}.redux-container-multi_text .redux-multi-text-add{margin:5px 0}@media screen and (max-width:782px){.redux-container-multi_text input{clear:both}.redux-container-multi_text .redux-multi-text-remove{margin:0;float:right}}.redux-main .form-table-section-indented{width:95%;margin-left:5%}.redux-main .form-table-section tr:first-of-type th:first-of-type{padding:0!important}.redux-main h3{margin-top:10px}.redux-main .form-table-section-indented>tbody>tr:first-child{display:none}.redux-main .form-table-section-indented>tbody>tr:nth-last-child(2){border-bottom:0}.redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.redux-container-select_image{margin-top:2px;margin-left:5px;width:100%;margin-bottom:0}.redux-preview-image{max-height:250px;max-width:250px;padding:5px;margin-top:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slider .redux-slider-container{margin-left:25px;margin-right:25px;width:200px;display:inline-block;vertical-align:middle}.redux-container-slider .redux-slider-input,.redux-container-slider .redux-slider-select-one,.redux-container-slider .redux-slider-select-two{width:100px!important;text-align:center}.redux-container-slider .redux-slider-label{position:absolute;margin-left:-5px}.redux-container-slider .redux-slider-label-one{position:absolute;margin-left:-22px}.redux-container-slider .redux-slider-label-two{position:absolute;margin-top:-21px;margin-left:245px}@media screen and (max-width:782px){.redux-container-slider input{display:inline-block!important}}@media screen and (max-width:570px){.redux-container-slider{text-align:center}.redux-container-slider .redux-slider-label,.redux-container-slider .select2-container,.redux-container-slider input,.redux-container-slider select{display:block!important;position:inherit;margin:10px auto}.redux-container-slider .redux-slider-container{margin-top:3px;width:80%}}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-vertical.noUi-extended{padding:15px 0}.noUi-vertical.noUi-extended .noUi-origin{bottom:-15px}.noUi-background{background:#FAFAFA;box-shadow:inset 0 1px 1px #f0f0f0}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-origin{border-radius:2px}.noUi-target{border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-target.noUi-connect{box-shadow:inset 0 0 3px rgba(51,51,51,.45),0 3px 6px -5px #BBB}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-dragable{cursor:n-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect,[disabled].noUi-connect{background:#B8B8B8}[disabled] .noUi-handle{cursor:not-allowed}.noUi-state-blocked .noUi-connect,.noUi-state-blocked.noUi-connect{background:#4FDACF}.redux-container-slides .redux-slides-list .select2-container{margin-bottom:10px;width:100%}.redux-container-slides .ui-accordion-header{margin-bottom:0}.redux-container-slides .full-text,.redux-container-slides .large-text{width:100%}.redux-container-slides .redux-slides-accordion-group{border:1px solid #dfdfdf!important;border-radius:3px!important;margin-top:0!important;margin-bottom:10px;background:#f9f9f9;padding:5px}.redux-container-slides .redux-slides-accordion-group h3{border:1px solid #dfdfdf;cursor:move!important;font-weight:700;padding:0 10px!important;height:40px;line-height:40px!important;background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-slides #redux-slides-accordion .redux-slides-image{height:250px;padding:5px;margin-top:10px;margin-bottom:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slides .redux-slides-add{float:right;margin-right:10%;display:block;margin-bottom:10px}.redux-container-slides .redux-slides-remove{color:#ef521d!important;float:right;margin-top:5px}.redux-container-slides .redux-slides-header{font-weight:700}.redux-container-slides .redux_slides_add_remove{margin-bottom:10px}.redux-container-slides .ui-state-hover{background-color:#ececec!important}.redux-container-sortable label{margin-right:10px;width:300px}.redux-container-sortable label.bugger{margin-bottom:0!important;font-size:12px!important;color:#999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:364px}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable li{line-height:30px}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0}.redux-container-sorter{margin-right:-20px}.redux-container-sorter ul{background:#F9F9F9;border:1px solid #E3E3E3;min-height:40px;padding:10px 10px 0;width:145px;float:left;margin:0 15px 0 0}.redux-container-sorter ul.filled{opacity:.7;filter:alpha(opacity=70);background:#efecec}.redux-container-sorter ul li{border:1px solid #DFDFDF;cursor:move;font-weight:700;margin-bottom:10px!important;padding:0 10px;height:40px;line-height:40px!important;background-color:#F1F1F1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-sorter ul li h3{margin:0 0 10px;text-align:center;color:#777;text-transform:capitalize;word-wrap:break-word}.redux-container-sorter ul li.placeholder{height:40px}.redux-container-spacing .select_wrapper,.redux-container-spacing select{width:80px!important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}.redux-container-spacing .dovy{margin:10px}@media screen and (max-width:782px){.redux-container-spacing .field-spacing-input input{display:inline-block!important;width:70px!important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}}.redux-container-spinner .spinner-wrpr{position:relative;display:block;height:30px;overflow:hidden}.redux-container-spinner .spinner-wrpr .spinner-input{position:relative!important;z-index:1;width:45px!important;height:30px!important;background:#e7e7e7!important;border:1px solid #bfbfbf!important;border-right:0!important;border-left:0!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.redux-container-spinner .ui-spinner{position:static;display:inline}.redux-container-spinner .ui-spinner-buttons{position:absolute;padding:0}.redux-container-spinner .ui-widget .ui-spinner-button{position:absolute;top:0;padding:0 0 30px;overflow:hidden;cursor:pointer;background:-moz-linear-gradient(#fff,#f3f3f3) #fff;background:-o-linear-gradient(#fff,#f3f3f3) #fff;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f3f3f3)) #fff;background:linear-gradient(#fff,#f3f3f3) #fff;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.redux-container-spinner .ui-spinner-button:hover,.redux-container-spinner .ui-state-hover{background:-moz-linear-gradient(#f3f3f3,#fff) #f3f3f3;background:-o-linear-gradient(#f3f3f3,#fff) #f3f3f3;background:-webkit-gradient(linear,left top,left bottom,from(#f3f3f3),to(#fff)) #f3f3f3;background:linear-gradient(#f3f3f3,#fff) #f3f3f3}.redux-container-spinner .ui-corner-tr,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{-webkit-border-radius:0 5px 5px 0;-moz-border-radius:0 5px 5px 0;border-radius:0 5px 5px 0}.redux-container-spinner .ui-corner-br,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{-webkit-border-radius:5px 0 0 5px;-moz-border-radius:5px 0 0 5px;border-radius:5px 0 0 5px}.redux-container-spinner .ui-spinner-button .ui-icon{top:0;display:block;width:28px;height:28px;margin:0;border:1px solid #b7b7b7}.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAKCAYAAACXDi8zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADxJREFUeNpsjwsKADAIQu3u3tsRY6M5gz7w0AqSQFLdZ3ZRgmf44JQ/EOZ9oYOsiDviVemP2oYoWCwBBgDpO6VXVo3RyQAAAABJRU5ErkJggg==) 10px 10px no-repeat}.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAKCAYAAACXDi8zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNpi+P//PwM6bmlpwS4IorEKokggC8Il0AVhEv9x6sAmiaz9P05XIUsygmVRAUiAESDAAFHcpVdWtdj/AAAAAElFTkSuQmCC) 10px 10px no-repeat}.redux-container-switch .switch-options{min-height:30px;margin-right:10px}.redux-container-switch .switch-options label{cursor:pointer}.redux-container-switch .switch-options input{display:none}.redux-container-switch .cb-disable,.redux-container-switch .cb-enable{padding:0 10px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.redux-container-switch .cb-disable span,.redux-container-switch .cb-enable span{line-height:30px;font-weight:700;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.redux-container-switch .cb-disable,.redux-container-switch .cb-disable span,.redux-container-switch .cb-enable,.redux-container-switch .cb-enable span{display:block;float:left}.redux-container-switch .cb-enable{border-right:0;border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px}.redux-container-switch .cb-enable.selected{color:#fff}.redux-container-switch .cb-disable{border-left:0;border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0}.redux-container-switch .cb-disable.selected{color:#fff}.redux-container-text label{display:block;position:relative;font-size:12px!important;text-align:left;color:#999;margin:4px 0 2px!important;cursor:default;top:5px;width:100px}.redux-container-text input{clear:left}.redux-container-text .input_wrapper{display:block;position:relative;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:left;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.redux-main .redux-typography-container .redux-typography-color,.redux-main .redux-typography-container input.wp-picker-default{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0 14px!important;margin-top:0;margin-bottom:0;margin-left:4px!important;font-size:12px!important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48%!important;min-width:210px!important;max-width:324px!important;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(even),.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px!important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px!important;display:block;float:left;height:28px!important;line-height:50px!important;padding:0!important;width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;position:relative;margin:0;padding:0;width:23%;width:100%;max-width:23%;min-width:70px;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{display:block;position:relative;font-size:12px!important;text-align:left;color:#999;margin:4px 0 2px!important;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted #d3d3d3;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width:540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0!important;margin-right:0!important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0!important;margin-right:5px!important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px!important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}}@media screen and (max-width:360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}}.redux-main input.redux-color{float:left;width:70px;margin-left:5px}.redux-main input.color-transparency{margin-left:10px;margin-right:3px}.redux-main input.wp-color-picker{width:80px}.redux-main .section-color .controls{width:345px}.redux-main .section-color .explain{width:225px}.redux-main .iris-picker .iris-strip .ui-slider-handle{position:absolute;background:0 0!important;right:-3px;left:-3px;border:4px solid #aaa!important;border-width:4px 3px;width:auto;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:.9;z-index:5;cursor:ns-resize}.redux-main .iris-picker .iris-slider-offset{position:absolute;top:2px;left:0;right:0;bottom:4px;width:28px;background:0 0!important;border:0!important;height:auto}.redux-main .wp-picker-container input{margin-bottom:inherit;margin-top:inherit;padding:2px}.redux-main .wp-picker-container .wp-color-result{outline:0;margin:0}.redux-main .wp-picker-container .wp-picker-default{padding:0 10px 1px}.redux-main .redux-color-gradient{line-height:24px}.redux-main .color-transparency-check{line-height:1;margin-top:0!important}.redux-main .wp-picker-clear{margin-top:0!important}.redux-main .button.remove-image,.redux-main .removeCSS{margin-left:10px;color:#ef521d}.redux-main .button.remove-image:hover,.redux-main .removeCSS:hover{color:red}.redux-main .upload_button_div{margin-bottom:5px}.redux-main .upload-error{float:left;color:#666;font-size:10px;font-weight:700;text-decoration:none;text-shadow:1px 1px 0 #FFF;margin:0 10px 0 0;padding:3px 10px;background:#FFDFEC;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .reset-button{font-family:Arial,Verdana,sans-serif;float:left;margin:0;color:#ef521d;border-color:#bbb}.redux-main .redux-option-image{max-height:340px;max-width:340px;padding:5px;margin-bottom:0;margin-top:10px;margin-right:15px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-main .redux-main .upload{width:80%!important}.redux-main .button{margin-top:2px}#redux-export-code,#redux-export-link-value,#redux-import-code-wrapper,#redux-import-link-wrapper{display:none}#redux-import-action span{color:#B94A48} \ No newline at end of file +.redux-container-ace_editor .ace-wrapper{position:static}.redux-container-ace_editor .ace_editor{height:200px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-ace_editor .ace_gutter{z-index:1!important}.redux-main .redux-container-background .redux-background-attachment,.redux-main .redux-container-background .redux-background-attachment select,.redux-main .redux-container-background .redux-background-clip,.redux-main .redux-container-background .redux-background-clip select,.redux-main .redux-container-background .redux-background-origin,.redux-main .redux-container-background .redux-background-origin select,.redux-main .redux-container-background .redux-background-position,.redux-main .redux-container-background .redux-background-position select,.redux-main .redux-container-background .redux-background-repeat,.redux-main .redux-container-background .redux-background-repeat select,.redux-main .redux-container-background .redux-background-size,.redux-main .redux-container-background .redux-background-size select{width:200px!important;margin-right:10px;margin-bottom:7px}.redux-main .redux-container-background .background-preview{display:block;width:100%;margin:5px 0 10px;border:1px dotted #d3d3d3}.redux-main .redux-container-background .select2-container{margin-right:10px;margin-bottom:10px}.redux-main .redux-container-background .wp-picker-container{margin-bottom:10px}.redux-main .redux-container-background .upload{width:100%;margin-bottom:8px}.redux-main .redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.redux-container-border .select2-container{float:left;display:block;margin-right:10px}.redux-container-border .select_wrapper{float:left;width:inherit}.redux-container-border .select_wrapper select{width:80px;float:left}.redux-container-border .field-border-input{margin-right:10px;margin-bottom:7px}.redux-container-border .wp-picker-container{margin-top:2px}@media screen and (max-width:782px){.redux-container-border .field-border-input input{display:inline-block!important;width:100px!important}.redux-container-border .field-border-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-border .select_wrapper{margin-top:6px}}.redux-container-checkbox label{vertical-align:top;width:100%}.redux-container-checkbox label .field-desc{margin-top:0;float:left;width:93%;clear:none}.redux-container-color_gradient .colorGradient{display:inline-block}.redux-container-color_gradient .toLabel{padding-left:18px}@media screen and (max-width:660px){.redux-container-color_gradient .colorGradient{display:block;text-align:center!important}}.sp-container,.sp-replacer{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.sp-replacer.focus,.sp-replacer.hover,.sp-replacer:focus,.sp-replacer:hover{background:#fafafa;border-color:#999;color:#222}.sp-replacer.focus,.sp-replacer:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.sp-replacer.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.sp-replacer.active,.sp-replacer.active:hover,.sp-replacer:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}#ui-datepicker-div{z-index:15!important}.ui-datepicker-header{background-color:#00abef}.redux-dimensions-container .select_wrapper,.redux-dimensions-container select{width:80px!important;float:left}.redux-dimensions-container .field-dimensions-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width:782px){.redux-dimensions-container .field-dimensions-input input{display:inline-block!important;width:100px!important}.redux-dimensions-container .field-dimensions-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-dimensions-container .select_wrapper{margin-top:6px}}.redux-container-editor .mceLayout td{border-width:1px;margin:0;padding:1px}.redux-container-editor input,.redux-container-editor textarea{margin:inherit}.redux-container-editor textarea{border:0;border-width:0}.redux-container-editor .wp-editor-container{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-container-editor .wp-editor-container textarea{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-style:inherit}.redux-container-editor .quicktags-toolbar input{margin:2px 1px 4px;line-height:18px;display:inline-block;min-width:26px;padding:2px 4px;font:12px/18px Arial,Helvetica,sans-serif normal;color:#464646;border:1px solid #c3c3c3;-webkit-border-radius:3px;border-radius:3px;background:#eee;background:-webkit-gradient(linear,left bottom,left top,from(#e3e3e3),to(#fff)) #eee;background:-webkit-linear-gradient(bottom,#e3e3e3,#fff) #eee;background:-moz-linear-gradient(bottom,#e3e3e3,#fff) #eee;background:-o-linear-gradient(bottom,#e3e3e3,#fff) #eee;background:linear-gradient(to top,#e3e3e3,#fff) #eee}.redux-container-image_select .redux-table-container{display:table;table-layout:fixed;width:100%}.redux-container-image_select .redux-image-select{margin:0!important}.redux-container-image_select .redux-image-select .tiles{display:block;background-color:#FFF;background-repeat:repeat;width:40px;height:40px}.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select img{border-color:#d9d9d9}.redux-container-image_select .redux-image-select li:last-child{margin-bottom:0}.redux-container-image_select .redux-image-select input[type=radio]{display:none}.redux-container-image_select .redux-image-select-presets img{width:100%}.redux-container-image_select ul.redux-image-select li{margin:0 10px 3px;display:inline-block;padding:2px 2px 2px 0}.redux-container-image_select .redux-image-select-selected{background-color:#f9f9f9}.redux-container-image_select .redux-image-select .tiles,.redux-container-image_select .redux-image-select img,.redux-container-image_select .redux-image-select-selected .tiles,.redux-container-image_select .redux-image-select-selected img{border-width:4px;border-style:solid}.redux-container-image_select .redux-image-select-selected .tiles{border-color:#7a7a7a}.redux-info-field{min-height:20px;padding:8px 19px;margin:10px 0;border-radius:4px;border:1px solid;position:relative}.redux-info-field h1,.redux-info-field h2,.redux-info-field h3,.redux-info-field h4,.redux-info-field h5,.redux-info-field h6{border-bottom:0!important}.redux-info-field h3{color:#777}.redux-info-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-info-field .redux-info-icon i{font-size:2em}.redux-info-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-info-field.redux-normal{background-color:#eee;border-color:#ccc;color:#666}.redux-info-field.redux-normal i{color:#c5c5c5}.redux-info-field.redux-warning{background-color:#fbeba4;border-color:#d7c281;color:#958234}.redux-info-field.redux-warning i{color:#dcca81}.redux-info-field.redux-success{background-color:#c4ee91;border-color:#71af5d;color:#4d7615}.redux-info-field.redux-success i{color:#a0ca6c}.redux-info-field.redux-critical{background-color:#fba1a3;border-color:#b84f5b;color:#981225}.redux-info-field.redux-critical i{color:#dd767d}.redux-info-field.redux-info{background-color:#d3e4f4;border-color:#a9b6c2;color:#5c80a1}.redux-info-field.redux-info i{color:#afc6da}.redux-notice-field{margin:15px 0 0;background-color:#fff;border:0;border-left:4px solid #f3f3f3;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:1px 12px}.redux-notice-field h1,.redux-notice-field h2,.redux-notice-field h3,.redux-notice-field h4,.redux-notice-field h5,.redux-notice-field h6{border-bottom:0!important}.redux-notice-field p{margin:.5em 0;padding:2px}.redux-notice-field .redux-info-icon{display:inline-block;margin-right:15px}.redux-notice-field .redux-info-icon i{font-size:2em}.redux-notice-field .redux-info-desc{display:inline-block;vertical-align:top}.redux-notice-field.redux-info{border-left:4px solid #0099d5}.redux-notice-field.redux-success{border-left:4px solid #7ad03a}.redux-notice-field.redux-warning{border-left:4px solid #fbeba4}.redux-notice-field.redux-critical{border-left:4px solid #dd3d36}.redux-container-link_color .linkColor{display:inline-block;padding-right:10px;padding-bottom:7px}.redux-main .button.remove-image,.redux-main .removeCSS{margin-left:10px;color:#ef521d}.redux-main .button.remove-image:hover,.redux-main .removeCSS:hover{color:red}.redux-main .upload_button_div{margin-bottom:5px}.redux-main .upload-error{float:left;color:#666;font-size:10px;font-weight:700;text-decoration:none;text-shadow:1px 1px 0 #FFF;margin:0 10px 0 0;padding:3px 10px;background:#FFDFEC;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .reset-button{font-family:Arial,Verdana,sans-serif;float:left;margin:0;color:#ef521d;border-color:#bbb}.redux-main .redux-option-image{max-height:340px;max-width:340px;padding:5px;margin-bottom:0;margin-top:10px;margin-right:15px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-main .redux-main .upload{width:80%!important}.redux-main .button{margin-top:2px}.redux-container-multi_text ul.redux-multi-text{margin:0;padding:0}.redux-container-multi_text .redux-multi-text-remove{color:red;padding:2px 4px;margin-left:5px}.redux-container-multi_text .redux-multi-text-remove:hover{background:red;color:#fff;text-decoration:none}.redux-container-multi_text .redux-multi-text-add{margin:5px 0}@media screen and (max-width:782px){.redux-container-multi_text input{clear:both}.redux-container-multi_text .redux-multi-text-remove{margin:0;float:right}}.redux-container-palette label.ui-button.ui-widget{width:95%;background:0 0;padding:0}.redux-container-palette label.ui-button.ui-widget .ui-button-text{display:flex}.redux-container-palette label.ui-button.ui-widget .ui-button-text span{padding:10px 0;flex-grow:1;font-size:0;line-height:10px;color:transparent;-webkit-transition:all 200ms ease-in-out;-moz-transition:all 200ms ease-in-out;-ms-transition:all 200ms ease-in-out;-o-transition:all 200ms ease-in-out;transition:all 200ms ease-in-out}.redux-container-palette label.ui-button.ui-widget .ui-button-text span:hover{padding:10px;flex-grow:3;min-width:60px;font-size:10px;line-height:10px;color:#000}.redux-container-palette label.ui-state-active.ui-button.ui-widget span.ui-button-text{border:3px solid #333}.redux-main .form-table-section-indented{width:95%;margin-left:5%}.redux-main .form-table-section tr:first-of-type th:first-of-type{padding:0!important}.redux-main h3{margin-top:10px}.redux-main .form-table-section-indented>tbody>tr:first-child{display:none}.redux-main .form-table-section-indented>tbody>tr:nth-last-child(2){border-bottom:0}.redux-container-select li.ui-state-highlight{height:20px;margin-top:2px;margin-left:5px;width:64px;margin-bottom:0}.redux-container-select_image{margin-top:2px;margin-left:5px;width:100%;margin-bottom:0}.redux-preview-image{max-height:250px;max-width:250px;padding:5px;margin-top:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slider .redux-slider-container{margin-left:25px;margin-right:25px;width:200px;display:inline-block;vertical-align:middle}.redux-container-slider .redux-slider-input,.redux-container-slider .redux-slider-select-one,.redux-container-slider .redux-slider-select-two{width:100px!important;text-align:center}.redux-container-slider .redux-slider-label{position:absolute;margin-left:-5px}.redux-container-slider .redux-slider-label-one{position:absolute;margin-left:-22px}.redux-container-slider .redux-slider-label-two{position:absolute;margin-top:-21px;margin-left:245px}@media screen and (max-width:782px){.redux-container-slider input{display:inline-block!important}}@media screen and (max-width:570px){.redux-container-slider{text-align:center}.redux-container-slider .redux-slider-label,.redux-container-slider .select2-container,.redux-container-slider input,.redux-container-slider select{display:block!important;position:inherit;margin:10px auto}.redux-container-slider .redux-slider-container{margin-top:3px;width:80%}}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-vertical.noUi-extended{padding:15px 0}.noUi-vertical.noUi-extended .noUi-origin{bottom:-15px}.noUi-background{background:#FAFAFA;box-shadow:inset 0 1px 1px #f0f0f0}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-origin{border-radius:2px}.noUi-target{border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-target.noUi-connect{box-shadow:inset 0 0 3px rgba(51,51,51,.45),0 3px 6px -5px #BBB}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-dragable{cursor:n-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect,[disabled].noUi-connect{background:#B8B8B8}[disabled] .noUi-handle{cursor:not-allowed}.noUi-state-blocked .noUi-connect,.noUi-state-blocked.noUi-connect{background:#4FDACF}.redux-container-slides .redux-slides-list .select2-container{margin-bottom:10px;width:100%}.redux-container-slides .ui-accordion-header{margin-bottom:0}.redux-container-slides .full-text,.redux-container-slides .large-text{width:100%}.redux-container-slides .redux-slides-accordion-group{border:1px solid #dfdfdf!important;border-radius:3px!important;margin-top:0!important;margin-bottom:10px;background:#f9f9f9;padding:5px}.redux-container-slides .redux-slides-accordion-group h3{border:1px solid #dfdfdf;cursor:move!important;font-weight:700;padding:0 10px!important;height:40px;line-height:40px!important;background-color:#f1f1f1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-slides #redux-slides-accordion .redux-slides-image{height:250px;padding:5px;margin-top:10px;margin-bottom:10px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-container-slides .redux-slides-add{float:right;margin-right:10%;display:block;margin-bottom:10px}.redux-container-slides .redux-slides-remove{color:#ef521d!important;float:right;margin-top:5px}.redux-container-slides .redux-slides-header{font-weight:700}.redux-container-slides .redux_slides_add_remove{margin-bottom:10px}.redux-container-slides .ui-state-hover{background-color:#ececec!important}.redux-container-sortable i.el{cursor:move}.redux-container-sortable label{margin-right:10px;width:300px}.redux-container-sortable label.bugger{margin-bottom:0!important;font-size:12px!important;color:#999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:364px}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable ul.labeled li{line-height:1.4em!important}.redux-container-sortable li{line-height:30px!important}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0}.redux-container-sorter{margin-right:-20px}.redux-container-sorter ul{background:#F9F9F9;border:1px solid #E3E3E3;min-height:40px;padding:10px 10px 0;width:145px;float:left;margin:0 15px 0 0}.redux-container-sorter ul.filled{opacity:.7;filter:alpha(opacity=70);background:#efecec}.redux-container-sorter ul li{border:1px solid #DFDFDF;cursor:move;font-weight:700;margin-bottom:10px!important;padding:0 10px;height:40px;line-height:40px!important;background-color:#F1F1F1;background-image:-ms-linear-gradient(top,#f9f9f9,#ececec);background-image:-moz-linear-gradient(top,#f9f9f9,#ececec);background-image:-o-linear-gradient(top,#f9f9f9,#ececec);background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#ececec));background-image:-webkit-linear-gradient(top,#f9f9f9,#ececec);background-image:linear-gradient(top,#f9f9f9,#ececec);overflow:hidden;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-moz-box-shadow:inset 0 1px 0 #fff;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff;text-align:center}.redux-container-sorter ul li h3{margin:0 0 10px;text-align:center;color:#777;text-transform:capitalize;word-wrap:break-word}.redux-container-sorter ul li.placeholder{height:40px}.redux-container-spacing .select_wrapper,.redux-container-spacing select{width:80px!important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width:782px){.redux-container-spacing .field-spacing-input input{display:inline-block!important;width:70px!important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}}.redux-container-spinner .spinner-wrpr{position:relative;display:block;height:30px;overflow:hidden}.redux-container-spinner .spinner-wrpr .spinner-input{position:relative!important;z-index:1;width:45px!important;height:30px!important;background:#e7e7e7!important;border:1px solid #bfbfbf!important;border-right:0!important;border-left:0!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;border-radius:0!important}.redux-container-spinner .ui-spinner{position:static;display:inline}.redux-container-spinner .ui-spinner-buttons{position:absolute;padding:0}.redux-container-spinner .ui-widget .ui-spinner-button{position:absolute;top:0;padding:0 0 30px;overflow:hidden;cursor:pointer;background:-moz-linear-gradient(#fff,#f3f3f3) #fff;background:-o-linear-gradient(#fff,#f3f3f3) #fff;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f3f3f3)) #fff;background:linear-gradient(#fff,#f3f3f3) #fff;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.redux-container-spinner .ui-spinner-button:hover,.redux-container-spinner .ui-state-hover{background:-moz-linear-gradient(#f3f3f3,#fff) #f3f3f3;background:-o-linear-gradient(#f3f3f3,#fff) #f3f3f3;background:-webkit-gradient(linear,left top,left bottom,from(#f3f3f3),to(#fff)) #f3f3f3;background:linear-gradient(#f3f3f3,#fff) #f3f3f3}.redux-container-spinner .ui-corner-tr,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{-webkit-border-radius:0 5px 5px 0;-moz-border-radius:0 5px 5px 0;border-radius:0 5px 5px 0}.redux-container-spinner .ui-corner-br,.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{-webkit-border-radius:5px 0 0 5px;-moz-border-radius:5px 0 0 5px;border-radius:5px 0 0 5px}.redux-container-spinner .ui-spinner-button .ui-icon{top:0;display:block;width:28px;height:28px;margin:0;border:1px solid #b7b7b7}.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-n{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAKCAYAAACXDi8zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADxJREFUeNpsjwsKADAIQu3u3tsRY6M5gz7w0AqSQFLdZ3ZRgmf44JQ/EOZ9oYOsiDviVemP2oYoWCwBBgDpO6VXVo3RyQAAAABJRU5ErkJggg==) 10px 10px no-repeat}.redux-container-spinner .ui-spinner-button .ui-icon-triangle-1-s{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAKCAYAAACXDi8zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNpi+P//PwM6bmlpwS4IorEKokggC8Il0AVhEv9x6sAmiaz9P05XIUsygmVRAUiAESDAAFHcpVdWtdj/AAAAAElFTkSuQmCC) 10px 10px no-repeat}.redux-container-switch .switch-options{min-height:30px;margin-right:10px}.redux-container-switch .switch-options label{cursor:pointer}.redux-container-switch .switch-options input{display:none}.redux-container-switch .cb-disable,.redux-container-switch .cb-enable{padding:0 10px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.redux-container-switch .cb-disable span,.redux-container-switch .cb-enable span{line-height:30px;font-weight:700;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;-ms-user-select:none;user-select:none}.redux-container-switch .cb-disable,.redux-container-switch .cb-disable span,.redux-container-switch .cb-enable,.redux-container-switch .cb-enable span{display:block;float:left}.redux-container-switch .cb-enable{border-right:0;border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px}.redux-container-switch .cb-enable.selected{color:#fff}.redux-container-switch .cb-disable{border-left:0;border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0}.redux-container-switch .cb-disable.selected{color:#fff}.redux-container-text label{display:block;position:relative;font-size:12px!important;text-align:left;color:#999;margin:4px 0 2px!important;cursor:default;top:5px;width:100px}.redux-container-text input{clear:left}.redux-container-text .input_wrapper{display:block;position:relative;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:left;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.redux-main .redux-typography-container .redux-typography-color,.redux-main .redux-typography-container input.wp-picker-default{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0 14px!important;margin-top:0;margin-bottom:0;margin-left:4px!important;font-size:12px!important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48%!important;min-width:210px!important;max-width:324px!important;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(even),.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px!important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px!important;display:block;float:left;height:28px!important;line-height:50px!important;padding:0!important;width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;position:relative;margin:0;padding:0;width:23%;width:100%;max-width:23%;min-width:70px;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{display:block;position:relative;font-size:12px!important;text-align:left;color:#999;margin:4px 0 2px!important;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted #d3d3d3;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width:540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0!important;margin-right:0!important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0!important;margin-right:5px!important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px!important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}}@media screen and (max-width:360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}}.redux-main input.redux-color{float:left;width:70px;margin-left:5px}.redux-main input.color-transparency{margin-left:10px;margin-right:3px}.redux-main input.wp-color-picker{width:80px!important}.redux-main .section-color .controls{width:345px}.redux-main .section-color .explain{width:225px}.redux-main .iris-picker .iris-strip .ui-slider-handle{position:absolute;background:0 0!important;right:-3px;left:-3px;border:4px solid #aaa!important;border-width:4px 3px;width:auto;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:.9;z-index:5;cursor:ns-resize}.redux-main .iris-picker .iris-slider-offset{position:absolute;top:2px;left:0;right:0;bottom:4px;width:28px;background:0 0!important;border:0!important;height:auto}.redux-main .wp-picker-container input{margin-bottom:inherit;margin-top:inherit;padding:3px 5px}.redux-main .wp-picker-container .wp-color-result{outline:0;margin:0}.redux-main .wp-picker-container .wp-picker-default{padding:0 10px 1px}.redux-main .redux-color-gradient{line-height:24px}.redux-main .color-transparency-check{line-height:1;margin-top:0!important}.redux-main .wp-picker-clear{margin-top:0!important}.redux-main .button.remove-image,.redux-main .removeCSS{margin-left:10px;color:#ef521d}.redux-main .button.remove-image:hover,.redux-main .removeCSS:hover{color:red}.redux-main .upload_button_div{margin-bottom:5px}.redux-main .upload-error{float:left;color:#666;font-size:10px;font-weight:700;text-decoration:none;text-shadow:1px 1px 0 #FFF;margin:0 10px 0 0;padding:3px 10px;background:#FFDFEC;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .reset-button{font-family:Arial,Verdana,sans-serif;float:left;margin:0;color:#ef521d;border-color:#bbb}.redux-main .redux-option-image{max-height:340px;max-width:340px;padding:5px;margin-bottom:0;margin-top:10px;margin-right:15px;border:1px solid #e3e3e3;background:#f7f7f7;-moz-border-radius:3px;-khtml-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.redux-main .redux-main .upload{width:80%!important}.redux-main .button{margin-top:2px} \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.css b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.css index de063be0..dedae3eb 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.css +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.css @@ -1 +1 @@ -#redux-container .redux-action_bar{float:left}#redux-container #expand_options,#redux-sidebar,.cb-enable,.cb-disable,.cb-enable span,.cb-disable span,#redux-footer #redux-share{float:right}#redux-main{border-left:0px;margin-left:0px;border-right:1px solid #d8d8d8;margin-right:201px}.redux-group-tab-link-a{padding-left:0px;padding-right:30px}.redux-group-tab-link-a i{padding-left:10px;padding-right:5px}.redux-group-tab-link-a span.group_title{padding-left:0px;padding-right:30px}.redux-container .expand_options,.redux-sidebar,.cb-enable,.cb-disable,.cb-enable span,.cb-disable span,#redux-footer #redux-share{float:right}.redux_slider{margin-left:0px;margin-right:15px}.redux-action_bar{float:left !important}.expand_options{float:right !important;border:1px solid #f00}.redux_field_th{padding:20px 0 20px 10px !important}.field-desc{text-align:right}.redux-container-ace_editor,.redux-container-border,.redux-container-spacing,.redux-container-dimensions{direction:ltr !important}.redux-container-border .field-border-input,.redux-container-border .redux-color-init,.redux-container-border .redux-border-style,.redux-container-sorter,.redux-container-border,.redux-container-spacing,.redux-container-spacing .field-spacing-input,.redux-container-dimensions .redux-dimensions-container,.redux-container-text label,.redux-container-checkbox input,.typography-font-bar,.typography-style-bar,.redux-color.redux-typography-color,.redux-typography-subsets{float:right !important}.input-append{margin-right:10px;direction:ltr !important}.redux-container-slider,.redux-container-spinner,.redux-container-switch{direction:ltr !important;float:right;margin:0}.redux-main .redux-typography-container .typography-preview{text-align:center !important;direction:ltr !important}.redux-info-field .redux-info-icon{margin-left:15px}#redux-share{float:right !important} +.redux-container .redux-action_bar{float:left}.redux-container #expand_options,.redux-sidebar,.cb-enable,.cb-disable,.cb-enable span,.cb-disable span,#redux-footer #redux-share{float:right}.redux-main{border-left:0px;margin-left:0px;border-right:1px solid #d8d8d8;margin-right:201px}.redux-group-tab-link-a{padding-left:0px;padding-right:30px}.redux-group-tab-link-a i{padding-left:10px;padding-right:5px}.redux-group-tab-link-a span.group_title{padding-left:0px;padding-right:30px}.redux-container .expand_options,.redux-sidebar,.cb-enable,.cb-disable,.cb-enable span,.cb-disable span,#redux-footer #redux-share{float:right}.redux_slider{margin-left:0px;margin-right:15px}.redux-action_bar{float:left !important}.expand_options{float:right !important;border:1px solid #f00}.redux_field_th{padding:20px 0 20px 10px !important}.field-desc{text-align:right}.redux-container-ace_editor,.redux-container-border,.redux-container-spacing,.redux-container-dimensions{direction:ltr !important}.redux-container-border .field-border-input,.redux-container-border .redux-color-init,.redux-container-border .redux-border-style,.redux-container-sorter,.redux-container-border,.redux-container-spacing,.redux-container-spacing .field-spacing-input,.redux-container-dimensions .redux-dimensions-container,.redux-container-text label,.redux-container-checkbox input,.typography-font-bar,.typography-style-bar,.redux-color.redux-typography-color,.redux-typography-subsets{float:right !important}.input-append{margin-right:10px;direction:ltr !important}.redux-container-slider,.redux-container-spinner,.redux-container-switch{direction:ltr !important;float:right;margin:0}.redux-main .redux-typography-container .typography-preview{text-align:center !important;direction:ltr !important}.redux-info-field .redux-info-icon{margin-left:15px}#redux-share{float:right !important} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.scss index 0f0ebe12..b7abeb4f 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.scss +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/rtl.scss @@ -1,11 +1,11 @@ -#redux-container { +.redux-container { .redux-action_bar { float: left; } } -#redux-container #expand_options, -#redux-sidebar, +.redux-container #expand_options, +.redux-sidebar, .cb-enable, .cb-disable, .cb-enable span, @@ -14,7 +14,7 @@ float: right; } -#redux-main { +.redux-main { border-left: 0px; margin-left: 0px; border-right: 1px solid #d8d8d8; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/elusive-icons.css b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/elusive-icons.css new file mode 100644 index 00000000..7c203980 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/elusive-icons.css @@ -0,0 +1,4 @@ +/*! + * Elusive Icons 2.0.0 by @ReduxFramework - http://elusiveicons.com - @reduxframework + * License - http://elusiveicons.com/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'Elusive-Icons';src:url("fonts/elusiveicons-webfont.eot?v=2.0.0");src:url("fonts/elusiveicons-webfont.eot?#iefix&v=2.0.0") format("embedded-opentype"),url("fonts/elusiveicons-webfont.woff?v=2.0.0") format("woff"),url("fonts/elusiveicons-webfont.ttf?v=2.0.0") format("truetype"),url("fonts/elusiveicons-webfont.svg?v=2.0.0#elusiveiconsregular") format("svg");font-weight:normal;font-style:normal}.el{display:inline-block;font:normal normal normal 14px/1 "Elusive-Icons";font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.el-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.el-2x{font-size:2em}.el-3x{font-size:3em}.el-4x{font-size:4em}.el-5x{font-size:5em}.el-fw{width:1.28571em;text-align:center}.el-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.el-ul>li{position:relative}.el-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.el-li.el-lg{left:-1.85714em}.el-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.el.pull-left{margin-right:.3em}.el.pull-right{margin-left:.3em}.el-spin{-webkit-animation:el-spin 2s infinite linear;animation:el-spin 2s infinite linear}.el-pulse{-webkit-animation:el-spin 1s infinite steps(8);animation:el-spin 1s infinite steps(8)}@-webkit-keyframes el-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes el-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.el-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.el-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.el-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.el-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.el-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .el-rotate-90,:root .el-rotate-180,:root .el-rotate-270,:root .el-flip-horizontal,:root .el-flip-vertical{filter:none}.el-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.el-stack-1x,.el-stack-2x{position:absolute;left:0;width:100%;text-align:center}.el-stack-1x{line-height:inherit}.el-stack-2x{font-size:2em}.el-inverse{color:#fff}.el-icon-address-book-alt:before,.el-address-book-alt:before{content:""}.el-icon-address-book:before,.el-address-book:before{content:""}.el-icon-adjust-alt:before,.el-adjust-alt:before{content:""}.el-icon-adjust:before,.el-adjust:before{content:""}.el-icon-adult:before,.el-adult:before{content:""}.el-icon-align-center:before,.el-align-center:before{content:""}.el-icon-align-justify:before,.el-align-justify:before{content:""}.el-icon-align-left:before,.el-align-left:before{content:""}.el-icon-align-right:before,.el-align-right:before{content:""}.el-icon-arrow-down:before,.el-arrow-down:before{content:""}.el-icon-arrow-left:before,.el-arrow-left:before{content:""}.el-icon-arrow-right:before,.el-arrow-right:before{content:""}.el-icon-arrow-up:before,.el-arrow-up:before{content:""}.el-icon-asl:before,.el-asl:before{content:""}.el-icon-asterisk:before,.el-asterisk:before{content:""}.el-icon-backward:before,.el-backward:before{content:""}.el-icon-ban-circle:before,.el-ban-circle:before{content:""}.el-icon-barcode:before,.el-barcode:before{content:""}.el-icon-behance:before,.el-behance:before{content:""}.el-icon-bell:before,.el-bell:before{content:""}.el-icon-blind:before,.el-blind:before{content:""}.el-icon-blogger:before,.el-blogger:before{content:""}.el-icon-bold:before,.el-bold:before{content:""}.el-icon-book:before,.el-book:before{content:""}.el-icon-bookmark-empty:before,.el-bookmark-empty:before{content:""}.el-icon-bookmark:before,.el-bookmark:before{content:""}.el-icon-brackets:before,.el-brackets:before{content:""}.el-icon-braille:before,.el-braille:before{content:""}.el-icon-briefcase:before,.el-briefcase:before{content:""}.el-icon-broom:before,.el-broom:before{content:""}.el-icon-brush:before,.el-brush:before{content:""}.el-icon-bulb:before,.el-bulb:before{content:""}.el-icon-bullhorn:before,.el-bullhorn:before{content:""}.el-icon-calendar-sign:before,.el-calendar-sign:before{content:""}.el-icon-calendar:before,.el-calendar:before{content:""}.el-icon-camera:before,.el-camera:before{content:""}.el-icon-car:before,.el-car:before{content:""}.el-icon-caret-down:before,.el-caret-down:before{content:""}.el-icon-caret-left:before,.el-caret-left:before{content:""}.el-icon-caret-right:before,.el-caret-right:before{content:""}.el-icon-caret-up:before,.el-caret-up:before{content:""}.el-icon-cc:before,.el-cc:before{content:""}.el-icon-certificate:before,.el-certificate:before{content:""}.el-icon-check-empty:before,.el-check-empty:before{content:""}.el-icon-check:before,.el-check:before{content:""}.el-icon-chevron-down:before,.el-chevron-down:before{content:""}.el-icon-chevron-left:before,.el-chevron-left:before{content:""}.el-icon-chevron-right:before,.el-chevron-right:before{content:""}.el-icon-chevron-up:before,.el-chevron-up:before{content:""}.el-icon-child:before,.el-child:before{content:""}.el-icon-circle-arrow-down:before,.el-circle-arrow-down:before{content:""}.el-icon-circle-arrow-left:before,.el-circle-arrow-left:before{content:""}.el-icon-circle-arrow-right:before,.el-circle-arrow-right:before{content:""}.el-icon-circle-arrow-up:before,.el-circle-arrow-up:before{content:""}.el-icon-cloud-alt:before,.el-cloud-alt:before{content:""}.el-icon-cloud:before,.el-cloud:before{content:""}.el-icon-cog-alt:before,.el-cog-alt:before{content:""}.el-icon-cog:before,.el-cog:before{content:""}.el-icon-cogs:before,.el-cogs:before{content:""}.el-icon-comment-alt:before,.el-comment-alt:before{content:""}.el-icon-comment:before,.el-comment:before{content:""}.el-icon-compass-alt:before,.el-compass-alt:before{content:""}.el-icon-compass:before,.el-compass:before{content:""}.el-icon-credit-card:before,.el-credit-card:before{content:""}.el-icon-css:before,.el-css:before{content:""}.el-icon-dashboard:before,.el-dashboard:before{content:""}.el-icon-delicious:before,.el-delicious:before{content:""}.el-icon-deviantart:before,.el-deviantart:before{content:""}.el-icon-digg:before,.el-digg:before{content:""}.el-icon-download-alt:before,.el-download-alt:before{content:""}.el-icon-download:before,.el-download:before{content:""}.el-icon-dribbble:before,.el-dribbble:before{content:""}.el-icon-edit:before,.el-edit:before{content:""}.el-icon-eject:before,.el-eject:before{content:""}.el-icon-envelope-alt:before,.el-envelope-alt:before{content:""}.el-icon-envelope:before,.el-envelope:before{content:""}.el-icon-error-alt:before,.el-error-alt:before{content:""}.el-icon-error:before,.el-error:before{content:""}.el-icon-eur:before,.el-eur:before{content:""}.el-icon-exclamation-sign:before,.el-exclamation-sign:before{content:""}.el-icon-eye-close:before,.el-eye-close:before{content:""}.el-icon-eye-open:before,.el-eye-open:before{content:""}.el-icon-facebook:before,.el-facebook:before{content:""}.el-icon-facetime-video:before,.el-facetime-video:before{content:""}.el-icon-fast-backward:before,.el-fast-backward:before{content:""}.el-icon-fast-forward:before,.el-fast-forward:before{content:""}.el-icon-female:before,.el-female:before{content:""}.el-icon-file-alt:before,.el-file-alt:before{content:""}.el-icon-file-edit-alt:before,.el-file-edit-alt:before{content:""}.el-icon-file-edit:before,.el-file-edit:before{content:""}.el-icon-file-new-alt:before,.el-file-new-alt:before{content:""}.el-icon-file-new:before,.el-file-new:before{content:""}.el-icon-file:before,.el-file:before{content:""}.el-icon-film:before,.el-film:before{content:""}.el-icon-filter:before,.el-filter:before{content:""}.el-icon-fire:before,.el-fire:before{content:""}.el-icon-flag-alt:before,.el-flag-alt:before{content:""}.el-icon-flag:before,.el-flag:before{content:""}.el-icon-flickr:before,.el-flickr:before{content:""}.el-icon-folder-close:before,.el-folder-close:before{content:""}.el-icon-folder-open:before,.el-folder-open:before{content:""}.el-icon-folder-sign:before,.el-folder-sign:before{content:""}.el-icon-folder:before,.el-folder:before{content:""}.el-icon-font:before,.el-font:before{content:""}.el-icon-fontsize:before,.el-fontsize:before{content:""}.el-icon-fork:before,.el-fork:before{content:""}.el-icon-forward-alt:before,.el-forward-alt:before{content:""}.el-icon-forward:before,.el-forward:before{content:""}.el-icon-foursquare:before,.el-foursquare:before{content:""}.el-icon-friendfeed-rect:before,.el-friendfeed-rect:before{content:""}.el-icon-friendfeed:before,.el-friendfeed:before{content:""}.el-icon-fullscreen:before,.el-fullscreen:before{content:""}.el-icon-gallery:before,.el-gallery:before{content:""}.el-icon-gbp:before,.el-gbp:before{content:""}.el-icon-gift:before,.el-gift:before{content:""}.el-icon-github-text:before,.el-github-text:before{content:""}.el-icon-github:before,.el-github:before{content:""}.el-icon-glass:before,.el-glass:before{content:""}.el-icon-glasses:before,.el-glasses:before{content:""}.el-icon-globe-alt:before,.el-globe-alt:before{content:""}.el-icon-globe:before,.el-globe:before{content:""}.el-icon-googleplus:before,.el-googleplus:before{content:""}.el-icon-graph-alt:before,.el-graph-alt:before{content:""}.el-icon-graph:before,.el-graph:before{content:""}.el-icon-group-alt:before,.el-group-alt:before{content:""}.el-icon-group:before,.el-group:before{content:""}.el-icon-guidedog:before,.el-guidedog:before{content:""}.el-icon-hand-down:before,.el-hand-down:before{content:""}.el-icon-hand-left:before,.el-hand-left:before{content:""}.el-icon-hand-right:before,.el-hand-right:before{content:""}.el-icon-hand-up:before,.el-hand-up:before{content:""}.el-icon-hdd:before,.el-hdd:before{content:""}.el-icon-headphones:before,.el-headphones:before{content:""}.el-icon-hearing-impaired:before,.el-hearing-impaired:before{content:""}.el-icon-heart-alt:before,.el-heart-alt:before{content:""}.el-icon-heart-empty:before,.el-heart-empty:before{content:""}.el-icon-heart:before,.el-heart:before{content:""}.el-icon-home-alt:before,.el-home-alt:before{content:""}.el-icon-home:before,.el-home:before{content:""}.el-icon-hourglass:before,.el-hourglass:before{content:""}.el-icon-idea-alt:before,.el-idea-alt:before{content:""}.el-icon-idea:before,.el-idea:before{content:""}.el-icon-inbox-alt:before,.el-inbox-alt:before{content:""}.el-icon-inbox-box:before,.el-inbox-box:before{content:""}.el-icon-inbox:before,.el-inbox:before{content:""}.el-icon-indent-left:before,.el-indent-left:before{content:""}.el-icon-indent-right:before,.el-indent-right:before{content:""}.el-icon-info-circle:before,.el-info-circle:before{content:""}.el-icon-instagram:before,.el-instagram:before{content:""}.el-icon-iphone-home:before,.el-iphone-home:before{content:""}.el-icon-italic:before,.el-italic:before{content:""}.el-icon-key:before,.el-key:before{content:""}.el-icon-laptop-alt:before,.el-laptop-alt:before{content:""}.el-icon-laptop:before,.el-laptop:before{content:""}.el-icon-lastfm:before,.el-lastfm:before{content:""}.el-icon-leaf:before,.el-leaf:before{content:""}.el-icon-lines:before,.el-lines:before{content:""}.el-icon-link:before,.el-link:before{content:""}.el-icon-linkedin:before,.el-linkedin:before{content:""}.el-icon-list-alt:before,.el-list-alt:before{content:""}.el-icon-list:before,.el-list:before{content:""}.el-icon-livejournal:before,.el-livejournal:before{content:""}.el-icon-lock-alt:before,.el-lock-alt:before{content:""}.el-icon-lock:before,.el-lock:before{content:""}.el-icon-magic:before,.el-magic:before{content:""}.el-icon-magnet:before,.el-magnet:before{content:""}.el-icon-male:before,.el-male:before{content:""}.el-icon-map-marker-alt:before,.el-map-marker-alt:before{content:""}.el-icon-map-marker:before,.el-map-marker:before{content:""}.el-icon-mic-alt:before,.el-mic-alt:before{content:""}.el-icon-mic:before,.el-mic:before{content:""}.el-icon-minus-sign:before,.el-minus-sign:before{content:""}.el-icon-minus:before,.el-minus:before{content:""}.el-icon-move:before,.el-move:before{content:""}.el-icon-music:before,.el-music:before{content:""}.el-icon-myspace:before,.el-myspace:before{content:""}.el-icon-network:before,.el-network:before{content:""}.el-icon-off:before,.el-off:before{content:""}.el-icon-ok-circle:before,.el-ok-circle:before{content:""}.el-icon-ok-sign:before,.el-ok-sign:before{content:""}.el-icon-ok:before,.el-ok:before{content:""}.el-icon-opensource:before,.el-opensource:before{content:""}.el-icon-paper-clip-alt:before,.el-paper-clip-alt:before{content:""}.el-icon-paper-clip:before,.el-paper-clip:before{content:""}.el-icon-path:before,.el-path:before{content:""}.el-icon-pause-alt:before,.el-pause-alt:before{content:""}.el-icon-pause:before,.el-pause:before{content:""}.el-icon-pencil-alt:before,.el-pencil-alt:before{content:""}.el-icon-pencil:before,.el-pencil:before{content:""}.el-icon-person:before,.el-person:before{content:""}.el-icon-phone-alt:before,.el-phone-alt:before{content:""}.el-icon-phone:before,.el-phone:before{content:""}.el-icon-photo-alt:before,.el-photo-alt:before{content:""}.el-icon-photo:before,.el-photo:before{content:""}.el-icon-picasa:before,.el-picasa:before{content:""}.el-icon-picture:before,.el-picture:before{content:""}.el-icon-plane:before,.el-plane:before{content:""}.el-icon-play-alt:before,.el-play-alt:before{content:""}.el-icon-play-circle:before,.el-play-circle:before{content:""}.el-icon-play:before,.el-play:before{content:""}.el-icon-plurk-alt:before,.el-plurk-alt:before{content:""}.el-icon-plurk:before,.el-plurk:before{content:""}.el-icon-plus-sign:before,.el-plus-sign:before{content:""}.el-icon-plus:before,.el-plus:before{content:""}.el-icon-podcast:before,.el-podcast:before{content:""}.el-icon-print:before,.el-print:before{content:""}.el-icon-puzzle:before,.el-puzzle:before{content:""}.el-icon-qrcode:before,.el-qrcode:before{content:""}.el-icon-question-sign:before,.el-question-sign:before{content:""}.el-icon-question:before,.el-question:before{content:""}.el-icon-quote-alt:before,.el-quote-alt:before{content:""}.el-icon-quote-right-alt:before,.el-quote-right-alt:before{content:""}.el-icon-quote-right:before,.el-quote-right:before{content:""}.el-icon-quotes:before,.el-quotes:before{content:""}.el-icon-random:before,.el-random:before{content:""}.el-icon-record:before,.el-record:before{content:""}.el-icon-reddit:before,.el-reddit:before{content:""}.el-icon-redux:before,.el-redux:before{content:""}.el-icon-refresh:before,.el-refresh:before{content:""}.el-icon-remove-circle:before,.el-remove-circle:before{content:""}.el-icon-remove-sign:before,.el-remove-sign:before{content:""}.el-icon-remove:before,.el-remove:before{content:""}.el-icon-repeat-alt:before,.el-repeat-alt:before{content:""}.el-icon-repeat:before,.el-repeat:before{content:""}.el-icon-resize-full:before,.el-resize-full:before{content:""}.el-icon-resize-horizontal:before,.el-resize-horizontal:before{content:""}.el-icon-resize-small:before,.el-resize-small:before{content:""}.el-icon-resize-vertical:before,.el-resize-vertical:before{content:""}.el-icon-return-key:before,.el-return-key:before{content:""}.el-icon-retweet:before,.el-retweet:before{content:""}.el-icon-reverse-alt:before,.el-reverse-alt:before{content:""}.el-icon-road:before,.el-road:before{content:""}.el-icon-rss:before,.el-rss:before{content:""}.el-icon-scissors:before,.el-scissors:before{content:""}.el-icon-screen-alt:before,.el-screen-alt:before{content:""}.el-icon-screen:before,.el-screen:before{content:""}.el-icon-screenshot:before,.el-screenshot:before{content:""}.el-icon-search-alt:before,.el-search-alt:before{content:""}.el-icon-search:before,.el-search:before{content:""}.el-icon-share-alt:before,.el-share-alt:before{content:""}.el-icon-share:before,.el-share:before{content:""}.el-icon-shopping-cart-sign:before,.el-shopping-cart-sign:before{content:""}.el-icon-shopping-cart:before,.el-shopping-cart:before{content:""}.el-icon-shortcode:before,.el-shortcode:before{content:""}.el-icon-signal:before,.el-signal:before{content:""}.el-icon-skype:before,.el-skype:before{content:""}.el-icon-slideshare:before,.el-slideshare:before{content:""}.el-icon-smiley-alt:before,.el-smiley-alt:before{content:""}.el-icon-smiley:before,.el-smiley:before{content:""}.el-icon-soundcloud:before,.el-soundcloud:before{content:""}.el-icon-speaker:before,.el-speaker:before{content:""}.el-icon-spotify:before,.el-spotify:before{content:""}.el-icon-stackoverflow:before,.el-stackoverflow:before{content:""}.el-icon-star-alt:before,.el-star-alt:before{content:""}.el-icon-star-empty:before,.el-star-empty:before{content:""}.el-icon-star:before,.el-star:before{content:""}.el-icon-step-backward:before,.el-step-backward:before{content:""}.el-icon-step-forward:before,.el-step-forward:before{content:""}.el-icon-stop-alt:before,.el-stop-alt:before{content:""}.el-icon-stop:before,.el-stop:before{content:""}.el-icon-stumbleupon:before,.el-stumbleupon:before{content:""}.el-icon-tag:before,.el-tag:before{content:""}.el-icon-tags:before,.el-tags:before{content:""}.el-icon-tasks:before,.el-tasks:before{content:""}.el-icon-text-height:before,.el-text-height:before{content:""}.el-icon-text-width:before,.el-text-width:before{content:""}.el-icon-th-large:before,.el-th-large:before{content:""}.el-icon-th-list:before,.el-th-list:before{content:""}.el-icon-th:before,.el-th:before{content:""}.el-icon-thumbs-down:before,.el-thumbs-down:before{content:""}.el-icon-thumbs-up:before,.el-thumbs-up:before{content:""}.el-icon-time-alt:before,.el-time-alt:before{content:""}.el-icon-time:before,.el-time:before{content:""}.el-icon-tint:before,.el-tint:before{content:""}.el-icon-torso:before,.el-torso:before{content:""}.el-icon-trash-alt:before,.el-trash-alt:before{content:""}.el-icon-trash:before,.el-trash:before{content:""}.el-icon-tumblr:before,.el-tumblr:before{content:""}.el-icon-twitter:before,.el-twitter:before{content:""}.el-icon-universal-access:before,.el-universal-access:before{content:""}.el-icon-unlock-alt:before,.el-unlock-alt:before{content:""}.el-icon-unlock:before,.el-unlock:before{content:""}.el-icon-upload:before,.el-upload:before{content:""}.el-icon-usd:before,.el-usd:before{content:""}.el-icon-user:before,.el-user:before{content:""}.el-icon-viadeo:before,.el-viadeo:before{content:""}.el-icon-video-alt:before,.el-video-alt:before{content:""}.el-icon-video-chat:before,.el-video-chat:before{content:""}.el-icon-video:before,.el-video:before{content:""}.el-icon-view-mode:before,.el-view-mode:before{content:""}.el-icon-vimeo:before,.el-vimeo:before{content:""}.el-icon-vkontakte:before,.el-vkontakte:before{content:""}.el-icon-volume-down:before,.el-volume-down:before{content:""}.el-icon-volume-off:before,.el-volume-off:before{content:""}.el-icon-volume-up:before,.el-volume-up:before{content:""}.el-icon-w3c:before,.el-w3c:before{content:""}.el-icon-warning-sign:before,.el-warning-sign:before{content:""}.el-icon-website-alt:before,.el-website-alt:before{content:""}.el-icon-website:before,.el-website:before{content:""}.el-icon-wheelchair:before,.el-wheelchair:before{content:""}.el-icon-wordpress:before,.el-wordpress:before{content:""}.el-icon-wrench-alt:before,.el-wrench-alt:before{content:""}.el-icon-wrench:before,.el-wrench:before{content:""}.el-icon-youtube:before,.el-youtube:before{content:""}.el-icon-zoom-in:before,.el-zoom-in:before{content:""}.el-icon-zoom-out:before,.el-zoom-out:before{content:""} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.eot b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..0fc2bdf4e7c94bf0d9b85f634a5a4bac5b39ae19 GIT binary patch literal 80440 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 msd74c!gL7xEwQ8HpqNmETtH3%U`P3X7) literal 0 HcmV?d00001 diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.svg b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.svg new file mode 100644 index 00000000..cf60ed2b --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.svg @@ -0,0 +1,934 @@ + + + + +Created by FontForge 20120731 at Tue Feb 24 11:41:15 2015 + By Dovy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.ttf b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/fonts/elusiveicons-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7065ca1d64f2c4c733b478cda54a23543384da1d GIT binary patch literal 80248 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 literal 0 HcmV?d00001 diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_animated.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_animated.scss new file mode 100644 index 00000000..7661bb0e --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$el-css-prefix}-spin { + -webkit-animation: el-spin 2s infinite linear; + animation: el-spin 2s infinite linear; +} + +.#{$el-css-prefix}-pulse { + -webkit-animation: el-spin 1s infinite steps(8); + animation: el-spin 1s infinite steps(8); +} + +@-webkit-keyframes el-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes el-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_bordered-pulled.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_bordered-pulled.scss new file mode 100644 index 00000000..c5a0858c --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_bordered-pulled.scss @@ -0,0 +1,16 @@ +// Bordered & Pulled +// ------------------------- + +.#{$el-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $el-border-color; + border-radius: .1em; +} + +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$el-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_core.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_core.scss new file mode 100644 index 00000000..e987377a --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_core.scss @@ -0,0 +1,13 @@ +// Base Class Definition +// ------------------------- + +.#{$el-css-prefix} { + display: inline-block; + font: normal normal normal #{$el-font-size-base}/1 'Elusive-Icons'; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transform: translate(0, 0); // ensures no half-pixel rendering in firefox + +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_fixed-width.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_fixed-width.scss new file mode 100644 index 00000000..04587534 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$el-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_icons.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_icons.scss new file mode 100644 index 00000000..6479042e --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_icons.scss @@ -0,0 +1,615 @@ +/* Elusive Icons uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$el-css-prefix}-icon-address-book-alt:before, +.#{$el-css-prefix}-address-book-alt:before { content: $el-var-address-book-alt; } +.#{$el-css-prefix}-icon-address-book:before, +.#{$el-css-prefix}-address-book:before { content: $el-var-address-book; } +.#{$el-css-prefix}-icon-adjust-alt:before, +.#{$el-css-prefix}-adjust-alt:before { content: $el-var-adjust-alt; } +.#{$el-css-prefix}-icon-adjust:before, +.#{$el-css-prefix}-adjust:before { content: $el-var-adjust; } +.#{$el-css-prefix}-icon-adult:before, +.#{$el-css-prefix}-adult:before { content: $el-var-adult; } +.#{$el-css-prefix}-icon-align-center:before, +.#{$el-css-prefix}-align-center:before { content: $el-var-align-center; } +.#{$el-css-prefix}-icon-align-justify:before, +.#{$el-css-prefix}-align-justify:before { content: $el-var-align-justify; } +.#{$el-css-prefix}-icon-align-left:before, +.#{$el-css-prefix}-align-left:before { content: $el-var-align-left; } +.#{$el-css-prefix}-icon-align-right:before, +.#{$el-css-prefix}-align-right:before { content: $el-var-align-right; } +.#{$el-css-prefix}-icon-arrow-down:before, +.#{$el-css-prefix}-arrow-down:before { content: $el-var-arrow-down; } +.#{$el-css-prefix}-icon-arrow-left:before, +.#{$el-css-prefix}-arrow-left:before { content: $el-var-arrow-left; } +.#{$el-css-prefix}-icon-arrow-right:before, +.#{$el-css-prefix}-arrow-right:before { content: $el-var-arrow-right; } +.#{$el-css-prefix}-icon-arrow-up:before, +.#{$el-css-prefix}-arrow-up:before { content: $el-var-arrow-up; } +.#{$el-css-prefix}-icon-asl:before, +.#{$el-css-prefix}-asl:before { content: $el-var-asl; } +.#{$el-css-prefix}-icon-asterisk:before, +.#{$el-css-prefix}-asterisk:before { content: $el-var-asterisk; } +.#{$el-css-prefix}-icon-backward:before, +.#{$el-css-prefix}-backward:before { content: $el-var-backward; } +.#{$el-css-prefix}-icon-ban-circle:before, +.#{$el-css-prefix}-ban-circle:before { content: $el-var-ban-circle; } +.#{$el-css-prefix}-icon-barcode:before, +.#{$el-css-prefix}-barcode:before { content: $el-var-barcode; } +.#{$el-css-prefix}-icon-behance:before, +.#{$el-css-prefix}-behance:before { content: $el-var-behance; } +.#{$el-css-prefix}-icon-bell:before, +.#{$el-css-prefix}-bell:before { content: $el-var-bell; } +.#{$el-css-prefix}-icon-blind:before, +.#{$el-css-prefix}-blind:before { content: $el-var-blind; } +.#{$el-css-prefix}-icon-blogger:before, +.#{$el-css-prefix}-blogger:before { content: $el-var-blogger; } +.#{$el-css-prefix}-icon-bold:before, +.#{$el-css-prefix}-bold:before { content: $el-var-bold; } +.#{$el-css-prefix}-icon-book:before, +.#{$el-css-prefix}-book:before { content: $el-var-book; } +.#{$el-css-prefix}-icon-bookmark-empty:before, +.#{$el-css-prefix}-bookmark-empty:before { content: $el-var-bookmark-empty; } +.#{$el-css-prefix}-icon-bookmark:before, +.#{$el-css-prefix}-bookmark:before { content: $el-var-bookmark; } +.#{$el-css-prefix}-icon-brackets:before, +.#{$el-css-prefix}-brackets:before { content: $el-var-brackets; } +.#{$el-css-prefix}-icon-braille:before, +.#{$el-css-prefix}-braille:before { content: $el-var-braille; } +.#{$el-css-prefix}-icon-briefcase:before, +.#{$el-css-prefix}-briefcase:before { content: $el-var-briefcase; } +.#{$el-css-prefix}-icon-broom:before, +.#{$el-css-prefix}-broom:before { content: $el-var-broom; } +.#{$el-css-prefix}-icon-brush:before, +.#{$el-css-prefix}-brush:before { content: $el-var-brush; } +.#{$el-css-prefix}-icon-bulb:before, +.#{$el-css-prefix}-bulb:before { content: $el-var-bulb; } +.#{$el-css-prefix}-icon-bullhorn:before, +.#{$el-css-prefix}-bullhorn:before { content: $el-var-bullhorn; } +.#{$el-css-prefix}-icon-calendar-sign:before, +.#{$el-css-prefix}-calendar-sign:before { content: $el-var-calendar-sign; } +.#{$el-css-prefix}-icon-calendar:before, +.#{$el-css-prefix}-calendar:before { content: $el-var-calendar; } +.#{$el-css-prefix}-icon-camera:before, +.#{$el-css-prefix}-camera:before { content: $el-var-camera; } +.#{$el-css-prefix}-icon-car:before, +.#{$el-css-prefix}-car:before { content: $el-var-car; } +.#{$el-css-prefix}-icon-caret-down:before, +.#{$el-css-prefix}-caret-down:before { content: $el-var-caret-down; } +.#{$el-css-prefix}-icon-caret-left:before, +.#{$el-css-prefix}-caret-left:before { content: $el-var-caret-left; } +.#{$el-css-prefix}-icon-caret-right:before, +.#{$el-css-prefix}-caret-right:before { content: $el-var-caret-right; } +.#{$el-css-prefix}-icon-caret-up:before, +.#{$el-css-prefix}-caret-up:before { content: $el-var-caret-up; } +.#{$el-css-prefix}-icon-cc:before, +.#{$el-css-prefix}-cc:before { content: $el-var-cc; } +.#{$el-css-prefix}-icon-certificate:before, +.#{$el-css-prefix}-certificate:before { content: $el-var-certificate; } +.#{$el-css-prefix}-icon-check-empty:before, +.#{$el-css-prefix}-check-empty:before { content: $el-var-check-empty; } +.#{$el-css-prefix}-icon-check:before, +.#{$el-css-prefix}-check:before { content: $el-var-check; } +.#{$el-css-prefix}-icon-chevron-down:before, +.#{$el-css-prefix}-chevron-down:before { content: $el-var-chevron-down; } +.#{$el-css-prefix}-icon-chevron-left:before, +.#{$el-css-prefix}-chevron-left:before { content: $el-var-chevron-left; } +.#{$el-css-prefix}-icon-chevron-right:before, +.#{$el-css-prefix}-chevron-right:before { content: $el-var-chevron-right; } +.#{$el-css-prefix}-icon-chevron-up:before, +.#{$el-css-prefix}-chevron-up:before { content: $el-var-chevron-up; } +.#{$el-css-prefix}-icon-child:before, +.#{$el-css-prefix}-child:before { content: $el-var-child; } +.#{$el-css-prefix}-icon-circle-arrow-down:before, +.#{$el-css-prefix}-circle-arrow-down:before { content: $el-var-circle-arrow-down; } +.#{$el-css-prefix}-icon-circle-arrow-left:before, +.#{$el-css-prefix}-circle-arrow-left:before { content: $el-var-circle-arrow-left; } +.#{$el-css-prefix}-icon-circle-arrow-right:before, +.#{$el-css-prefix}-circle-arrow-right:before { content: $el-var-circle-arrow-right; } +.#{$el-css-prefix}-icon-circle-arrow-up:before, +.#{$el-css-prefix}-circle-arrow-up:before { content: $el-var-circle-arrow-up; } +.#{$el-css-prefix}-icon-cloud-alt:before, +.#{$el-css-prefix}-cloud-alt:before { content: $el-var-cloud-alt; } +.#{$el-css-prefix}-icon-cloud:before, +.#{$el-css-prefix}-cloud:before { content: $el-var-cloud; } +.#{$el-css-prefix}-icon-cog-alt:before, +.#{$el-css-prefix}-cog-alt:before { content: $el-var-cog-alt; } +.#{$el-css-prefix}-icon-cog:before, +.#{$el-css-prefix}-cog:before { content: $el-var-cog; } +.#{$el-css-prefix}-icon-cogs:before, +.#{$el-css-prefix}-cogs:before { content: $el-var-cogs; } +.#{$el-css-prefix}-icon-comment-alt:before, +.#{$el-css-prefix}-comment-alt:before { content: $el-var-comment-alt; } +.#{$el-css-prefix}-icon-comment:before, +.#{$el-css-prefix}-comment:before { content: $el-var-comment; } +.#{$el-css-prefix}-icon-compass-alt:before, +.#{$el-css-prefix}-compass-alt:before { content: $el-var-compass-alt; } +.#{$el-css-prefix}-icon-compass:before, +.#{$el-css-prefix}-compass:before { content: $el-var-compass; } +.#{$el-css-prefix}-icon-credit-card:before, +.#{$el-css-prefix}-credit-card:before { content: $el-var-credit-card; } +.#{$el-css-prefix}-icon-css:before, +.#{$el-css-prefix}-css:before { content: $el-var-css; } +.#{$el-css-prefix}-icon-dashboard:before, +.#{$el-css-prefix}-dashboard:before { content: $el-var-dashboard; } +.#{$el-css-prefix}-icon-delicious:before, +.#{$el-css-prefix}-delicious:before { content: $el-var-delicious; } +.#{$el-css-prefix}-icon-deviantart:before, +.#{$el-css-prefix}-deviantart:before { content: $el-var-deviantart; } +.#{$el-css-prefix}-icon-digg:before, +.#{$el-css-prefix}-digg:before { content: $el-var-digg; } +.#{$el-css-prefix}-icon-download-alt:before, +.#{$el-css-prefix}-download-alt:before { content: $el-var-download-alt; } +.#{$el-css-prefix}-icon-download:before, +.#{$el-css-prefix}-download:before { content: $el-var-download; } +.#{$el-css-prefix}-icon-dribbble:before, +.#{$el-css-prefix}-dribbble:before { content: $el-var-dribbble; } +.#{$el-css-prefix}-icon-edit:before, +.#{$el-css-prefix}-edit:before { content: $el-var-edit; } +.#{$el-css-prefix}-icon-eject:before, +.#{$el-css-prefix}-eject:before { content: $el-var-eject; } +.#{$el-css-prefix}-icon-envelope-alt:before, +.#{$el-css-prefix}-envelope-alt:before { content: $el-var-envelope-alt; } +.#{$el-css-prefix}-icon-envelope:before, +.#{$el-css-prefix}-envelope:before { content: $el-var-envelope; } +.#{$el-css-prefix}-icon-error-alt:before, +.#{$el-css-prefix}-error-alt:before { content: $el-var-error-alt; } +.#{$el-css-prefix}-icon-error:before, +.#{$el-css-prefix}-error:before { content: $el-var-error; } +.#{$el-css-prefix}-icon-eur:before, +.#{$el-css-prefix}-eur:before { content: $el-var-eur; } +.#{$el-css-prefix}-icon-exclamation-sign:before, +.#{$el-css-prefix}-exclamation-sign:before { content: $el-var-exclamation-sign; } +.#{$el-css-prefix}-icon-eye-close:before, +.#{$el-css-prefix}-eye-close:before { content: $el-var-eye-close; } +.#{$el-css-prefix}-icon-eye-open:before, +.#{$el-css-prefix}-eye-open:before { content: $el-var-eye-open; } +.#{$el-css-prefix}-icon-facebook:before, +.#{$el-css-prefix}-facebook:before { content: $el-var-facebook; } +.#{$el-css-prefix}-icon-facetime-video:before, +.#{$el-css-prefix}-facetime-video:before { content: $el-var-facetime-video; } +.#{$el-css-prefix}-icon-fast-backward:before, +.#{$el-css-prefix}-fast-backward:before { content: $el-var-fast-backward; } +.#{$el-css-prefix}-icon-fast-forward:before, +.#{$el-css-prefix}-fast-forward:before { content: $el-var-fast-forward; } +.#{$el-css-prefix}-icon-female:before, +.#{$el-css-prefix}-female:before { content: $el-var-female; } +.#{$el-css-prefix}-icon-file-alt:before, +.#{$el-css-prefix}-file-alt:before { content: $el-var-file-alt; } +.#{$el-css-prefix}-icon-file-edit-alt:before, +.#{$el-css-prefix}-file-edit-alt:before { content: $el-var-file-edit-alt; } +.#{$el-css-prefix}-icon-file-edit:before, +.#{$el-css-prefix}-file-edit:before { content: $el-var-file-edit; } +.#{$el-css-prefix}-icon-file-new-alt:before, +.#{$el-css-prefix}-file-new-alt:before { content: $el-var-file-new-alt; } +.#{$el-css-prefix}-icon-file-new:before, +.#{$el-css-prefix}-file-new:before { content: $el-var-file-new; } +.#{$el-css-prefix}-icon-file:before, +.#{$el-css-prefix}-file:before { content: $el-var-file; } +.#{$el-css-prefix}-icon-film:before, +.#{$el-css-prefix}-film:before { content: $el-var-film; } +.#{$el-css-prefix}-icon-filter:before, +.#{$el-css-prefix}-filter:before { content: $el-var-filter; } +.#{$el-css-prefix}-icon-fire:before, +.#{$el-css-prefix}-fire:before { content: $el-var-fire; } +.#{$el-css-prefix}-icon-flag-alt:before, +.#{$el-css-prefix}-flag-alt:before { content: $el-var-flag-alt; } +.#{$el-css-prefix}-icon-flag:before, +.#{$el-css-prefix}-flag:before { content: $el-var-flag; } +.#{$el-css-prefix}-icon-flickr:before, +.#{$el-css-prefix}-flickr:before { content: $el-var-flickr; } +.#{$el-css-prefix}-icon-folder-close:before, +.#{$el-css-prefix}-folder-close:before { content: $el-var-folder-close; } +.#{$el-css-prefix}-icon-folder-open:before, +.#{$el-css-prefix}-folder-open:before { content: $el-var-folder-open; } +.#{$el-css-prefix}-icon-folder-sign:before, +.#{$el-css-prefix}-folder-sign:before { content: $el-var-folder-sign; } +.#{$el-css-prefix}-icon-folder:before, +.#{$el-css-prefix}-folder:before { content: $el-var-folder; } +.#{$el-css-prefix}-icon-font:before, +.#{$el-css-prefix}-font:before { content: $el-var-font; } +.#{$el-css-prefix}-icon-fontsize:before, +.#{$el-css-prefix}-fontsize:before { content: $el-var-fontsize; } +.#{$el-css-prefix}-icon-fork:before, +.#{$el-css-prefix}-fork:before { content: $el-var-fork; } +.#{$el-css-prefix}-icon-forward-alt:before, +.#{$el-css-prefix}-forward-alt:before { content: $el-var-forward-alt; } +.#{$el-css-prefix}-icon-forward:before, +.#{$el-css-prefix}-forward:before { content: $el-var-forward; } +.#{$el-css-prefix}-icon-foursquare:before, +.#{$el-css-prefix}-foursquare:before { content: $el-var-foursquare; } +.#{$el-css-prefix}-icon-friendfeed-rect:before, +.#{$el-css-prefix}-friendfeed-rect:before { content: $el-var-friendfeed-rect; } +.#{$el-css-prefix}-icon-friendfeed:before, +.#{$el-css-prefix}-friendfeed:before { content: $el-var-friendfeed; } +.#{$el-css-prefix}-icon-fullscreen:before, +.#{$el-css-prefix}-fullscreen:before { content: $el-var-fullscreen; } +.#{$el-css-prefix}-icon-gallery:before, +.#{$el-css-prefix}-gallery:before { content: $el-var-gallery; } +.#{$el-css-prefix}-icon-gbp:before, +.#{$el-css-prefix}-gbp:before { content: $el-var-gbp; } +.#{$el-css-prefix}-icon-gift:before, +.#{$el-css-prefix}-gift:before { content: $el-var-gift; } +.#{$el-css-prefix}-icon-github-text:before, +.#{$el-css-prefix}-github-text:before { content: $el-var-github-text; } +.#{$el-css-prefix}-icon-github:before, +.#{$el-css-prefix}-github:before { content: $el-var-github; } +.#{$el-css-prefix}-icon-glass:before, +.#{$el-css-prefix}-glass:before { content: $el-var-glass; } +.#{$el-css-prefix}-icon-glasses:before, +.#{$el-css-prefix}-glasses:before { content: $el-var-glasses; } +.#{$el-css-prefix}-icon-globe-alt:before, +.#{$el-css-prefix}-globe-alt:before { content: $el-var-globe-alt; } +.#{$el-css-prefix}-icon-globe:before, +.#{$el-css-prefix}-globe:before { content: $el-var-globe; } +.#{$el-css-prefix}-icon-googleplus:before, +.#{$el-css-prefix}-googleplus:before { content: $el-var-googleplus; } +.#{$el-css-prefix}-icon-graph-alt:before, +.#{$el-css-prefix}-graph-alt:before { content: $el-var-graph-alt; } +.#{$el-css-prefix}-icon-graph:before, +.#{$el-css-prefix}-graph:before { content: $el-var-graph; } +.#{$el-css-prefix}-icon-group-alt:before, +.#{$el-css-prefix}-group-alt:before { content: $el-var-group-alt; } +.#{$el-css-prefix}-icon-group:before, +.#{$el-css-prefix}-group:before { content: $el-var-group; } +.#{$el-css-prefix}-icon-guidedog:before, +.#{$el-css-prefix}-guidedog:before { content: $el-var-guidedog; } +.#{$el-css-prefix}-icon-hand-down:before, +.#{$el-css-prefix}-hand-down:before { content: $el-var-hand-down; } +.#{$el-css-prefix}-icon-hand-left:before, +.#{$el-css-prefix}-hand-left:before { content: $el-var-hand-left; } +.#{$el-css-prefix}-icon-hand-right:before, +.#{$el-css-prefix}-hand-right:before { content: $el-var-hand-right; } +.#{$el-css-prefix}-icon-hand-up:before, +.#{$el-css-prefix}-hand-up:before { content: $el-var-hand-up; } +.#{$el-css-prefix}-icon-hdd:before, +.#{$el-css-prefix}-hdd:before { content: $el-var-hdd; } +.#{$el-css-prefix}-icon-headphones:before, +.#{$el-css-prefix}-headphones:before { content: $el-var-headphones; } +.#{$el-css-prefix}-icon-hearing-impaired:before, +.#{$el-css-prefix}-hearing-impaired:before { content: $el-var-hearing-impaired; } +.#{$el-css-prefix}-icon-heart-alt:before, +.#{$el-css-prefix}-heart-alt:before { content: $el-var-heart-alt; } +.#{$el-css-prefix}-icon-heart-empty:before, +.#{$el-css-prefix}-heart-empty:before { content: $el-var-heart-empty; } +.#{$el-css-prefix}-icon-heart:before, +.#{$el-css-prefix}-heart:before { content: $el-var-heart; } +.#{$el-css-prefix}-icon-home-alt:before, +.#{$el-css-prefix}-home-alt:before { content: $el-var-home-alt; } +.#{$el-css-prefix}-icon-home:before, +.#{$el-css-prefix}-home:before { content: $el-var-home; } +.#{$el-css-prefix}-icon-hourglass:before, +.#{$el-css-prefix}-hourglass:before { content: $el-var-hourglass; } +.#{$el-css-prefix}-icon-idea-alt:before, +.#{$el-css-prefix}-idea-alt:before { content: $el-var-idea-alt; } +.#{$el-css-prefix}-icon-idea:before, +.#{$el-css-prefix}-idea:before { content: $el-var-idea; } +.#{$el-css-prefix}-icon-inbox-alt:before, +.#{$el-css-prefix}-inbox-alt:before { content: $el-var-inbox-alt; } +.#{$el-css-prefix}-icon-inbox-box:before, +.#{$el-css-prefix}-inbox-box:before { content: $el-var-inbox-box; } +.#{$el-css-prefix}-icon-inbox:before, +.#{$el-css-prefix}-inbox:before { content: $el-var-inbox; } +.#{$el-css-prefix}-icon-indent-left:before, +.#{$el-css-prefix}-indent-left:before { content: $el-var-indent-left; } +.#{$el-css-prefix}-icon-indent-right:before, +.#{$el-css-prefix}-indent-right:before { content: $el-var-indent-right; } +.#{$el-css-prefix}-icon-info-circle:before, +.#{$el-css-prefix}-info-circle:before { content: $el-var-info-circle; } +.#{$el-css-prefix}-icon-instagram:before, +.#{$el-css-prefix}-instagram:before { content: $el-var-instagram; } +.#{$el-css-prefix}-icon-iphone-home:before, +.#{$el-css-prefix}-iphone-home:before { content: $el-var-iphone-home; } +.#{$el-css-prefix}-icon-italic:before, +.#{$el-css-prefix}-italic:before { content: $el-var-italic; } +.#{$el-css-prefix}-icon-key:before, +.#{$el-css-prefix}-key:before { content: $el-var-key; } +.#{$el-css-prefix}-icon-laptop-alt:before, +.#{$el-css-prefix}-laptop-alt:before { content: $el-var-laptop-alt; } +.#{$el-css-prefix}-icon-laptop:before, +.#{$el-css-prefix}-laptop:before { content: $el-var-laptop; } +.#{$el-css-prefix}-icon-lastfm:before, +.#{$el-css-prefix}-lastfm:before { content: $el-var-lastfm; } +.#{$el-css-prefix}-icon-leaf:before, +.#{$el-css-prefix}-leaf:before { content: $el-var-leaf; } +.#{$el-css-prefix}-icon-lines:before, +.#{$el-css-prefix}-lines:before { content: $el-var-lines; } +.#{$el-css-prefix}-icon-link:before, +.#{$el-css-prefix}-link:before { content: $el-var-link; } +.#{$el-css-prefix}-icon-linkedin:before, +.#{$el-css-prefix}-linkedin:before { content: $el-var-linkedin; } +.#{$el-css-prefix}-icon-list-alt:before, +.#{$el-css-prefix}-list-alt:before { content: $el-var-list-alt; } +.#{$el-css-prefix}-icon-list:before, +.#{$el-css-prefix}-list:before { content: $el-var-list; } +.#{$el-css-prefix}-icon-livejournal:before, +.#{$el-css-prefix}-livejournal:before { content: $el-var-livejournal; } +.#{$el-css-prefix}-icon-lock-alt:before, +.#{$el-css-prefix}-lock-alt:before { content: $el-var-lock-alt; } +.#{$el-css-prefix}-icon-lock:before, +.#{$el-css-prefix}-lock:before { content: $el-var-lock; } +.#{$el-css-prefix}-icon-magic:before, +.#{$el-css-prefix}-magic:before { content: $el-var-magic; } +.#{$el-css-prefix}-icon-magnet:before, +.#{$el-css-prefix}-magnet:before { content: $el-var-magnet; } +.#{$el-css-prefix}-icon-male:before, +.#{$el-css-prefix}-male:before { content: $el-var-male; } +.#{$el-css-prefix}-icon-map-marker-alt:before, +.#{$el-css-prefix}-map-marker-alt:before { content: $el-var-map-marker-alt; } +.#{$el-css-prefix}-icon-map-marker:before, +.#{$el-css-prefix}-map-marker:before { content: $el-var-map-marker; } +.#{$el-css-prefix}-icon-mic-alt:before, +.#{$el-css-prefix}-mic-alt:before { content: $el-var-mic-alt; } +.#{$el-css-prefix}-icon-mic:before, +.#{$el-css-prefix}-mic:before { content: $el-var-mic; } +.#{$el-css-prefix}-icon-minus-sign:before, +.#{$el-css-prefix}-minus-sign:before { content: $el-var-minus-sign; } +.#{$el-css-prefix}-icon-minus:before, +.#{$el-css-prefix}-minus:before { content: $el-var-minus; } +.#{$el-css-prefix}-icon-move:before, +.#{$el-css-prefix}-move:before { content: $el-var-move; } +.#{$el-css-prefix}-icon-music:before, +.#{$el-css-prefix}-music:before { content: $el-var-music; } +.#{$el-css-prefix}-icon-myspace:before, +.#{$el-css-prefix}-myspace:before { content: $el-var-myspace; } +.#{$el-css-prefix}-icon-network:before, +.#{$el-css-prefix}-network:before { content: $el-var-network; } +.#{$el-css-prefix}-icon-off:before, +.#{$el-css-prefix}-off:before { content: $el-var-off; } +.#{$el-css-prefix}-icon-ok-circle:before, +.#{$el-css-prefix}-ok-circle:before { content: $el-var-ok-circle; } +.#{$el-css-prefix}-icon-ok-sign:before, +.#{$el-css-prefix}-ok-sign:before { content: $el-var-ok-sign; } +.#{$el-css-prefix}-icon-ok:before, +.#{$el-css-prefix}-ok:before { content: $el-var-ok; } +.#{$el-css-prefix}-icon-opensource:before, +.#{$el-css-prefix}-opensource:before { content: $el-var-opensource; } +.#{$el-css-prefix}-icon-paper-clip-alt:before, +.#{$el-css-prefix}-paper-clip-alt:before { content: $el-var-paper-clip-alt; } +.#{$el-css-prefix}-icon-paper-clip:before, +.#{$el-css-prefix}-paper-clip:before { content: $el-var-paper-clip; } +.#{$el-css-prefix}-icon-path:before, +.#{$el-css-prefix}-path:before { content: $el-var-path; } +.#{$el-css-prefix}-icon-pause-alt:before, +.#{$el-css-prefix}-pause-alt:before { content: $el-var-pause-alt; } +.#{$el-css-prefix}-icon-pause:before, +.#{$el-css-prefix}-pause:before { content: $el-var-pause; } +.#{$el-css-prefix}-icon-pencil-alt:before, +.#{$el-css-prefix}-pencil-alt:before { content: $el-var-pencil-alt; } +.#{$el-css-prefix}-icon-pencil:before, +.#{$el-css-prefix}-pencil:before { content: $el-var-pencil; } +.#{$el-css-prefix}-icon-person:before, +.#{$el-css-prefix}-person:before { content: $el-var-person; } +.#{$el-css-prefix}-icon-phone-alt:before, +.#{$el-css-prefix}-phone-alt:before { content: $el-var-phone-alt; } +.#{$el-css-prefix}-icon-phone:before, +.#{$el-css-prefix}-phone:before { content: $el-var-phone; } +.#{$el-css-prefix}-icon-photo-alt:before, +.#{$el-css-prefix}-photo-alt:before { content: $el-var-photo-alt; } +.#{$el-css-prefix}-icon-photo:before, +.#{$el-css-prefix}-photo:before { content: $el-var-photo; } +.#{$el-css-prefix}-icon-picasa:before, +.#{$el-css-prefix}-picasa:before { content: $el-var-picasa; } +.#{$el-css-prefix}-icon-picture:before, +.#{$el-css-prefix}-picture:before { content: $el-var-picture; } +.#{$el-css-prefix}-icon-plane:before, +.#{$el-css-prefix}-plane:before { content: $el-var-plane; } +.#{$el-css-prefix}-icon-play-alt:before, +.#{$el-css-prefix}-play-alt:before { content: $el-var-play-alt; } +.#{$el-css-prefix}-icon-play-circle:before, +.#{$el-css-prefix}-play-circle:before { content: $el-var-play-circle; } +.#{$el-css-prefix}-icon-play:before, +.#{$el-css-prefix}-play:before { content: $el-var-play; } +.#{$el-css-prefix}-icon-plurk-alt:before, +.#{$el-css-prefix}-plurk-alt:before { content: $el-var-plurk-alt; } +.#{$el-css-prefix}-icon-plurk:before, +.#{$el-css-prefix}-plurk:before { content: $el-var-plurk; } +.#{$el-css-prefix}-icon-plus-sign:before, +.#{$el-css-prefix}-plus-sign:before { content: $el-var-plus-sign; } +.#{$el-css-prefix}-icon-plus:before, +.#{$el-css-prefix}-plus:before { content: $el-var-plus; } +.#{$el-css-prefix}-icon-podcast:before, +.#{$el-css-prefix}-podcast:before { content: $el-var-podcast; } +.#{$el-css-prefix}-icon-print:before, +.#{$el-css-prefix}-print:before { content: $el-var-print; } +.#{$el-css-prefix}-icon-puzzle:before, +.#{$el-css-prefix}-puzzle:before { content: $el-var-puzzle; } +.#{$el-css-prefix}-icon-qrcode:before, +.#{$el-css-prefix}-qrcode:before { content: $el-var-qrcode; } +.#{$el-css-prefix}-icon-question-sign:before, +.#{$el-css-prefix}-question-sign:before { content: $el-var-question-sign; } +.#{$el-css-prefix}-icon-question:before, +.#{$el-css-prefix}-question:before { content: $el-var-question; } +.#{$el-css-prefix}-icon-quote-alt:before, +.#{$el-css-prefix}-quote-alt:before { content: $el-var-quote-alt; } +.#{$el-css-prefix}-icon-quote-right-alt:before, +.#{$el-css-prefix}-quote-right-alt:before { content: $el-var-quote-right-alt; } +.#{$el-css-prefix}-icon-quote-right:before, +.#{$el-css-prefix}-quote-right:before { content: $el-var-quote-right; } +.#{$el-css-prefix}-icon-quotes:before, +.#{$el-css-prefix}-quotes:before { content: $el-var-quotes; } +.#{$el-css-prefix}-icon-random:before, +.#{$el-css-prefix}-random:before { content: $el-var-random; } +.#{$el-css-prefix}-icon-record:before, +.#{$el-css-prefix}-record:before { content: $el-var-record; } +.#{$el-css-prefix}-icon-reddit:before, +.#{$el-css-prefix}-reddit:before { content: $el-var-reddit; } +.#{$el-css-prefix}-icon-redux:before, +.#{$el-css-prefix}-redux:before { content: $el-var-redux; } +.#{$el-css-prefix}-icon-refresh:before, +.#{$el-css-prefix}-refresh:before { content: $el-var-refresh; } +.#{$el-css-prefix}-icon-remove-circle:before, +.#{$el-css-prefix}-remove-circle:before { content: $el-var-remove-circle; } +.#{$el-css-prefix}-icon-remove-sign:before, +.#{$el-css-prefix}-remove-sign:before { content: $el-var-remove-sign; } +.#{$el-css-prefix}-icon-remove:before, +.#{$el-css-prefix}-remove:before { content: $el-var-remove; } +.#{$el-css-prefix}-icon-repeat-alt:before, +.#{$el-css-prefix}-repeat-alt:before { content: $el-var-repeat-alt; } +.#{$el-css-prefix}-icon-repeat:before, +.#{$el-css-prefix}-repeat:before { content: $el-var-repeat; } +.#{$el-css-prefix}-icon-resize-full:before, +.#{$el-css-prefix}-resize-full:before { content: $el-var-resize-full; } +.#{$el-css-prefix}-icon-resize-horizontal:before, +.#{$el-css-prefix}-resize-horizontal:before { content: $el-var-resize-horizontal; } +.#{$el-css-prefix}-icon-resize-small:before, +.#{$el-css-prefix}-resize-small:before { content: $el-var-resize-small; } +.#{$el-css-prefix}-icon-resize-vertical:before, +.#{$el-css-prefix}-resize-vertical:before { content: $el-var-resize-vertical; } +.#{$el-css-prefix}-icon-return-key:before, +.#{$el-css-prefix}-return-key:before { content: $el-var-return-key; } +.#{$el-css-prefix}-icon-retweet:before, +.#{$el-css-prefix}-retweet:before { content: $el-var-retweet; } +.#{$el-css-prefix}-icon-reverse-alt:before, +.#{$el-css-prefix}-reverse-alt:before { content: $el-var-reverse-alt; } +.#{$el-css-prefix}-icon-road:before, +.#{$el-css-prefix}-road:before { content: $el-var-road; } +.#{$el-css-prefix}-icon-rss:before, +.#{$el-css-prefix}-rss:before { content: $el-var-rss; } +.#{$el-css-prefix}-icon-scissors:before, +.#{$el-css-prefix}-scissors:before { content: $el-var-scissors; } +.#{$el-css-prefix}-icon-screen-alt:before, +.#{$el-css-prefix}-screen-alt:before { content: $el-var-screen-alt; } +.#{$el-css-prefix}-icon-screen:before, +.#{$el-css-prefix}-screen:before { content: $el-var-screen; } +.#{$el-css-prefix}-icon-screenshot:before, +.#{$el-css-prefix}-screenshot:before { content: $el-var-screenshot; } +.#{$el-css-prefix}-icon-search-alt:before, +.#{$el-css-prefix}-search-alt:before { content: $el-var-search-alt; } +.#{$el-css-prefix}-icon-search:before, +.#{$el-css-prefix}-search:before { content: $el-var-search; } +.#{$el-css-prefix}-icon-share-alt:before, +.#{$el-css-prefix}-share-alt:before { content: $el-var-share-alt; } +.#{$el-css-prefix}-icon-share:before, +.#{$el-css-prefix}-share:before { content: $el-var-share; } +.#{$el-css-prefix}-icon-shopping-cart-sign:before, +.#{$el-css-prefix}-shopping-cart-sign:before { content: $el-var-shopping-cart-sign; } +.#{$el-css-prefix}-icon-shopping-cart:before, +.#{$el-css-prefix}-shopping-cart:before { content: $el-var-shopping-cart; } +.#{$el-css-prefix}-icon-shortcode:before, +.#{$el-css-prefix}-shortcode:before { content: $el-var-shortcode; } +.#{$el-css-prefix}-icon-signal:before, +.#{$el-css-prefix}-signal:before { content: $el-var-signal; } +.#{$el-css-prefix}-icon-skype:before, +.#{$el-css-prefix}-skype:before { content: $el-var-skype; } +.#{$el-css-prefix}-icon-slideshare:before, +.#{$el-css-prefix}-slideshare:before { content: $el-var-slideshare; } +.#{$el-css-prefix}-icon-smiley-alt:before, +.#{$el-css-prefix}-smiley-alt:before { content: $el-var-smiley-alt; } +.#{$el-css-prefix}-icon-smiley:before, +.#{$el-css-prefix}-smiley:before { content: $el-var-smiley; } +.#{$el-css-prefix}-icon-soundcloud:before, +.#{$el-css-prefix}-soundcloud:before { content: $el-var-soundcloud; } +.#{$el-css-prefix}-icon-speaker:before, +.#{$el-css-prefix}-speaker:before { content: $el-var-speaker; } +.#{$el-css-prefix}-icon-spotify:before, +.#{$el-css-prefix}-spotify:before { content: $el-var-spotify; } +.#{$el-css-prefix}-icon-stackoverflow:before, +.#{$el-css-prefix}-stackoverflow:before { content: $el-var-stackoverflow; } +.#{$el-css-prefix}-icon-star-alt:before, +.#{$el-css-prefix}-star-alt:before { content: $el-var-star-alt; } +.#{$el-css-prefix}-icon-star-empty:before, +.#{$el-css-prefix}-star-empty:before { content: $el-var-star-empty; } +.#{$el-css-prefix}-icon-star:before, +.#{$el-css-prefix}-star:before { content: $el-var-star; } +.#{$el-css-prefix}-icon-step-backward:before, +.#{$el-css-prefix}-step-backward:before { content: $el-var-step-backward; } +.#{$el-css-prefix}-icon-step-forward:before, +.#{$el-css-prefix}-step-forward:before { content: $el-var-step-forward; } +.#{$el-css-prefix}-icon-stop-alt:before, +.#{$el-css-prefix}-stop-alt:before { content: $el-var-stop-alt; } +.#{$el-css-prefix}-icon-stop:before, +.#{$el-css-prefix}-stop:before { content: $el-var-stop; } +.#{$el-css-prefix}-icon-stumbleupon:before, +.#{$el-css-prefix}-stumbleupon:before { content: $el-var-stumbleupon; } +.#{$el-css-prefix}-icon-tag:before, +.#{$el-css-prefix}-tag:before { content: $el-var-tag; } +.#{$el-css-prefix}-icon-tags:before, +.#{$el-css-prefix}-tags:before { content: $el-var-tags; } +.#{$el-css-prefix}-icon-tasks:before, +.#{$el-css-prefix}-tasks:before { content: $el-var-tasks; } +.#{$el-css-prefix}-icon-text-height:before, +.#{$el-css-prefix}-text-height:before { content: $el-var-text-height; } +.#{$el-css-prefix}-icon-text-width:before, +.#{$el-css-prefix}-text-width:before { content: $el-var-text-width; } +.#{$el-css-prefix}-icon-th-large:before, +.#{$el-css-prefix}-th-large:before { content: $el-var-th-large; } +.#{$el-css-prefix}-icon-th-list:before, +.#{$el-css-prefix}-th-list:before { content: $el-var-th-list; } +.#{$el-css-prefix}-icon-th:before, +.#{$el-css-prefix}-th:before { content: $el-var-th; } +.#{$el-css-prefix}-icon-thumbs-down:before, +.#{$el-css-prefix}-thumbs-down:before { content: $el-var-thumbs-down; } +.#{$el-css-prefix}-icon-thumbs-up:before, +.#{$el-css-prefix}-thumbs-up:before { content: $el-var-thumbs-up; } +.#{$el-css-prefix}-icon-time-alt:before, +.#{$el-css-prefix}-time-alt:before { content: $el-var-time-alt; } +.#{$el-css-prefix}-icon-time:before, +.#{$el-css-prefix}-time:before { content: $el-var-time; } +.#{$el-css-prefix}-icon-tint:before, +.#{$el-css-prefix}-tint:before { content: $el-var-tint; } +.#{$el-css-prefix}-icon-torso:before, +.#{$el-css-prefix}-torso:before { content: $el-var-torso; } +.#{$el-css-prefix}-icon-trash-alt:before, +.#{$el-css-prefix}-trash-alt:before { content: $el-var-trash-alt; } +.#{$el-css-prefix}-icon-trash:before, +.#{$el-css-prefix}-trash:before { content: $el-var-trash; } +.#{$el-css-prefix}-icon-tumblr:before, +.#{$el-css-prefix}-tumblr:before { content: $el-var-tumblr; } +.#{$el-css-prefix}-icon-twitter:before, +.#{$el-css-prefix}-twitter:before { content: $el-var-twitter; } +.#{$el-css-prefix}-icon-universal-access:before, +.#{$el-css-prefix}-universal-access:before { content: $el-var-universal-access; } +.#{$el-css-prefix}-icon-unlock-alt:before, +.#{$el-css-prefix}-unlock-alt:before { content: $el-var-unlock-alt; } +.#{$el-css-prefix}-icon-unlock:before, +.#{$el-css-prefix}-unlock:before { content: $el-var-unlock; } +.#{$el-css-prefix}-icon-upload:before, +.#{$el-css-prefix}-upload:before { content: $el-var-upload; } +.#{$el-css-prefix}-icon-usd:before, +.#{$el-css-prefix}-usd:before { content: $el-var-usd; } +.#{$el-css-prefix}-icon-user:before, +.#{$el-css-prefix}-user:before { content: $el-var-user; } +.#{$el-css-prefix}-icon-viadeo:before, +.#{$el-css-prefix}-viadeo:before { content: $el-var-viadeo; } +.#{$el-css-prefix}-icon-video-alt:before, +.#{$el-css-prefix}-video-alt:before { content: $el-var-video-alt; } +.#{$el-css-prefix}-icon-video-chat:before, +.#{$el-css-prefix}-video-chat:before { content: $el-var-video-chat; } +.#{$el-css-prefix}-icon-video:before, +.#{$el-css-prefix}-video:before { content: $el-var-video; } +.#{$el-css-prefix}-icon-view-mode:before, +.#{$el-css-prefix}-view-mode:before { content: $el-var-view-mode; } +.#{$el-css-prefix}-icon-vimeo:before, +.#{$el-css-prefix}-vimeo:before { content: $el-var-vimeo; } +.#{$el-css-prefix}-icon-vkontakte:before, +.#{$el-css-prefix}-vkontakte:before { content: $el-var-vkontakte; } +.#{$el-css-prefix}-icon-volume-down:before, +.#{$el-css-prefix}-volume-down:before { content: $el-var-volume-down; } +.#{$el-css-prefix}-icon-volume-off:before, +.#{$el-css-prefix}-volume-off:before { content: $el-var-volume-off; } +.#{$el-css-prefix}-icon-volume-up:before, +.#{$el-css-prefix}-volume-up:before { content: $el-var-volume-up; } +.#{$el-css-prefix}-icon-w3c:before, +.#{$el-css-prefix}-w3c:before { content: $el-var-w3c; } +.#{$el-css-prefix}-icon-warning-sign:before, +.#{$el-css-prefix}-warning-sign:before { content: $el-var-warning-sign; } +.#{$el-css-prefix}-icon-website-alt:before, +.#{$el-css-prefix}-website-alt:before { content: $el-var-website-alt; } +.#{$el-css-prefix}-icon-website:before, +.#{$el-css-prefix}-website:before { content: $el-var-website; } +.#{$el-css-prefix}-icon-wheelchair:before, +.#{$el-css-prefix}-wheelchair:before { content: $el-var-wheelchair; } +.#{$el-css-prefix}-icon-wordpress:before, +.#{$el-css-prefix}-wordpress:before { content: $el-var-wordpress; } +.#{$el-css-prefix}-icon-wrench-alt:before, +.#{$el-css-prefix}-wrench-alt:before { content: $el-var-wrench-alt; } +.#{$el-css-prefix}-icon-wrench:before, +.#{$el-css-prefix}-wrench:before { content: $el-var-wrench; } +.#{$el-css-prefix}-icon-youtube:before, +.#{$el-css-prefix}-youtube:before { content: $el-var-youtube; } +.#{$el-css-prefix}-icon-zoom-in:before, +.#{$el-css-prefix}-zoom-in:before { content: $el-var-zoom-in; } +.#{$el-css-prefix}-icon-zoom-out:before, +.#{$el-css-prefix}-zoom-out:before { content: $el-var-zoom-out; } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_larger.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_larger.scss new file mode 100644 index 00000000..f76eab77 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$el-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$el-css-prefix}-2x { font-size: 2em; } +.#{$el-css-prefix}-3x { font-size: 3em; } +.#{$el-css-prefix}-4x { font-size: 4em; } +.#{$el-css-prefix}-5x { font-size: 5em; } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_list.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_list.scss new file mode 100644 index 00000000..fefec82a --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$el-css-prefix}-ul { + padding-left: 0; + margin-left: $el-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$el-css-prefix}-li { + position: absolute; + left: -$el-li-width; + width: $el-li-width; + top: (2em / 14); + text-align: center; + &.#{$el-css-prefix}-lg { + left: -$el-li-width + (4em / 14); + } +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_mixins.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_mixins.scss new file mode 100644 index 00000000..b443823f --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_mixins.scss @@ -0,0 +1,27 @@ +// Mixins +// -------------------------- + +@mixin el-icon() { + display: inline-block; + font: normal normal normal #{$el-font-size-base}/1 'Elusive-Icons'; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transform: translate(0, 0); // ensures no half-pixel rendering in firefox + +} + +@mixin el-icon-rotate($degrees, $rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin el-icon-flip($horiz, $vert, $rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_path.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_path.scss new file mode 100644 index 00000000..4989ef2d --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_path.scss @@ -0,0 +1,14 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'Elusive-Icons'; + src: url('#{$el-font-path}/elusiveicons-webfont.eot?v=#{$el-version}'); + src: url('#{$el-font-path}/elusiveicons-webfont.eot?#iefix&v=#{$el-version}') format('embedded-opentype'), + //url('#{$el-font-path}/elusiveicons-webfont.woff2?v=#{$el-version}') format('woff2'), + url('#{$el-font-path}/elusiveicons-webfont.woff?v=#{$el-version}') format('woff'), + url('#{$el-font-path}/elusiveicons-webfont.ttf?v=#{$el-version}') format('truetype'), + url('#{$el-font-path}/elusiveicons-webfont.svg?v=#{$el-version}#elusiveiconsregular') format('svg'); + font-weight: normal; + font-style: normal; +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_rotated-flipped.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_rotated-flipped.scss new file mode 100644 index 00000000..82481611 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$el-css-prefix}-rotate-90 { @include el-icon-rotate(90deg, 1); } +.#{$el-css-prefix}-rotate-180 { @include el-icon-rotate(180deg, 2); } +.#{$el-css-prefix}-rotate-270 { @include el-icon-rotate(270deg, 3); } + +.#{$el-css-prefix}-flip-horizontal { @include el-icon-flip(-1, 1, 0); } +.#{$el-css-prefix}-flip-vertical { @include el-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$el-css-prefix}-rotate-90, +:root .#{$el-css-prefix}-rotate-180, +:root .#{$el-css-prefix}-rotate-270, +:root .#{$el-css-prefix}-flip-horizontal, +:root .#{$el-css-prefix}-flip-vertical { + filter: none; +} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_stacked.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_stacked.scss new file mode 100644 index 00000000..68d84bb6 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$el-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$el-css-prefix}-stack-1x, .#{$el-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$el-css-prefix}-stack-1x { line-height: inherit; } +.#{$el-css-prefix}-stack-2x { font-size: 2em; } +.#{$el-css-prefix}-inverse { color: $el-inverse; } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_variables.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_variables.scss new file mode 100644 index 00000000..b5ddf72a --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/_variables.scss @@ -0,0 +1,318 @@ +// Variables +// -------------------------- + +$el-font-path: "fonts" !default; +$el-font-size-base: 14px !default; +$el-css-prefix: el !default; +$el-version: "2.0.0" !default; +$el-border-color: #eee !default; +$el-inverse: #fff !default; +$el-li-width: (30em / 14) !default; + +$el-var-address-book: "\f102"; +$el-var-address-book-alt: "\f101"; +$el-var-adjust: "\f104"; +$el-var-adjust-alt: "\f103"; +$el-var-adult: "\f105"; +$el-var-align-center: "\f106"; +$el-var-align-justify: "\f107"; +$el-var-align-left: "\f108"; +$el-var-align-right: "\f109"; +$el-var-arrow-down: "\f10a"; +$el-var-arrow-left: "\f10b"; +$el-var-arrow-right: "\f10c"; +$el-var-arrow-up: "\f10d"; +$el-var-asl: "\f10e"; +$el-var-asterisk: "\f10f"; +$el-var-backward: "\f110"; +$el-var-ban-circle: "\f111"; +$el-var-barcode: "\f112"; +$el-var-behance: "\f113"; +$el-var-bell: "\f114"; +$el-var-blind: "\f115"; +$el-var-blogger: "\f116"; +$el-var-bold: "\f117"; +$el-var-book: "\f118"; +$el-var-bookmark: "\f11a"; +$el-var-bookmark-empty: "\f119"; +$el-var-brackets: "\f11b"; +$el-var-braille: "\f11c"; +$el-var-briefcase: "\f11d"; +$el-var-broom: "\f11e"; +$el-var-brush: "\f11f"; +$el-var-bulb: "\f120"; +$el-var-bullhorn: "\f121"; +$el-var-calendar: "\f123"; +$el-var-calendar-sign: "\f122"; +$el-var-camera: "\f124"; +$el-var-car: "\f125"; +$el-var-caret-down: "\f126"; +$el-var-caret-left: "\f127"; +$el-var-caret-right: "\f128"; +$el-var-caret-up: "\f129"; +$el-var-cc: "\f12a"; +$el-var-certificate: "\f12b"; +$el-var-check: "\f12d"; +$el-var-check-empty: "\f12c"; +$el-var-chevron-down: "\f12e"; +$el-var-chevron-left: "\f12f"; +$el-var-chevron-right: "\f130"; +$el-var-chevron-up: "\f131"; +$el-var-child: "\f132"; +$el-var-circle-arrow-down: "\f133"; +$el-var-circle-arrow-left: "\f134"; +$el-var-circle-arrow-right: "\f135"; +$el-var-circle-arrow-up: "\f136"; +$el-var-cloud: "\f138"; +$el-var-cloud-alt: "\f137"; +$el-var-cog: "\f13a"; +$el-var-cog-alt: "\f139"; +$el-var-cogs: "\f13b"; +$el-var-comment: "\f13d"; +$el-var-comment-alt: "\f13c"; +$el-var-compass: "\f13f"; +$el-var-compass-alt: "\f13e"; +$el-var-credit-card: "\f140"; +$el-var-css: "\f141"; +$el-var-dashboard: "\f142"; +$el-var-delicious: "\f143"; +$el-var-deviantart: "\f144"; +$el-var-digg: "\f145"; +$el-var-download: "\f147"; +$el-var-download-alt: "\f146"; +$el-var-dribbble: "\f148"; +$el-var-edit: "\f149"; +$el-var-eject: "\f14a"; +$el-var-envelope: "\f14c"; +$el-var-envelope-alt: "\f14b"; +$el-var-error: "\f14e"; +$el-var-error-alt: "\f14d"; +$el-var-eur: "\f14f"; +$el-var-exclamation-sign: "\f150"; +$el-var-eye-close: "\f151"; +$el-var-eye-open: "\f152"; +$el-var-facebook: "\f153"; +$el-var-facetime-video: "\f154"; +$el-var-fast-backward: "\f155"; +$el-var-fast-forward: "\f156"; +$el-var-female: "\f157"; +$el-var-file: "\f15d"; +$el-var-file-alt: "\f158"; +$el-var-file-edit: "\f15a"; +$el-var-file-edit-alt: "\f159"; +$el-var-file-new: "\f15c"; +$el-var-file-new-alt: "\f15b"; +$el-var-film: "\f15e"; +$el-var-filter: "\f15f"; +$el-var-fire: "\f160"; +$el-var-flag: "\f162"; +$el-var-flag-alt: "\f161"; +$el-var-flickr: "\f163"; +$el-var-folder: "\f167"; +$el-var-folder-close: "\f164"; +$el-var-folder-open: "\f165"; +$el-var-folder-sign: "\f166"; +$el-var-font: "\f168"; +$el-var-fontsize: "\f169"; +$el-var-fork: "\f16a"; +$el-var-forward: "\f16c"; +$el-var-forward-alt: "\f16b"; +$el-var-foursquare: "\f16d"; +$el-var-friendfeed: "\f16f"; +$el-var-friendfeed-rect: "\f16e"; +$el-var-fullscreen: "\f170"; +$el-var-gallery: "\f171"; +$el-var-gbp: "\f172"; +$el-var-gift: "\f173"; +$el-var-github: "\f175"; +$el-var-github-text: "\f174"; +$el-var-glass: "\f176"; +$el-var-glasses: "\f177"; +$el-var-globe: "\f179"; +$el-var-globe-alt: "\f178"; +$el-var-googleplus: "\f17a"; +$el-var-graph: "\f17c"; +$el-var-graph-alt: "\f17b"; +$el-var-group: "\f17e"; +$el-var-group-alt: "\f17d"; +$el-var-guidedog: "\f17f"; +$el-var-hand-down: "\f180"; +$el-var-hand-left: "\f181"; +$el-var-hand-right: "\f182"; +$el-var-hand-up: "\f183"; +$el-var-hdd: "\f184"; +$el-var-headphones: "\f185"; +$el-var-hearing-impaired: "\f186"; +$el-var-heart: "\f189"; +$el-var-heart-alt: "\f187"; +$el-var-heart-empty: "\f188"; +$el-var-home: "\f18b"; +$el-var-home-alt: "\f18a"; +$el-var-hourglass: "\f18c"; +$el-var-idea: "\f18e"; +$el-var-idea-alt: "\f18d"; +$el-var-inbox: "\f191"; +$el-var-inbox-alt: "\f18f"; +$el-var-inbox-box: "\f190"; +$el-var-indent-left: "\f192"; +$el-var-indent-right: "\f193"; +$el-var-info-circle: "\f194"; +$el-var-instagram: "\f195"; +$el-var-iphone-home: "\f196"; +$el-var-italic: "\f197"; +$el-var-key: "\f198"; +$el-var-laptop: "\f19a"; +$el-var-laptop-alt: "\f199"; +$el-var-lastfm: "\f19b"; +$el-var-leaf: "\f19c"; +$el-var-lines: "\f19d"; +$el-var-link: "\f19e"; +$el-var-linkedin: "\f19f"; +$el-var-list: "\f1a1"; +$el-var-list-alt: "\f1a0"; +$el-var-livejournal: "\f1a2"; +$el-var-lock: "\f1a4"; +$el-var-lock-alt: "\f1a3"; +$el-var-magic: "\f1a5"; +$el-var-magnet: "\f1a6"; +$el-var-male: "\f1a7"; +$el-var-map-marker: "\f1a9"; +$el-var-map-marker-alt: "\f1a8"; +$el-var-mic: "\f1ab"; +$el-var-mic-alt: "\f1aa"; +$el-var-minus: "\f1ad"; +$el-var-minus-sign: "\f1ac"; +$el-var-move: "\f1ae"; +$el-var-music: "\f1af"; +$el-var-myspace: "\f1b0"; +$el-var-network: "\f1b1"; +$el-var-off: "\f1b2"; +$el-var-ok: "\f1b5"; +$el-var-ok-circle: "\f1b3"; +$el-var-ok-sign: "\f1b4"; +$el-var-opensource: "\f1b6"; +$el-var-paper-clip: "\f1b8"; +$el-var-paper-clip-alt: "\f1b7"; +$el-var-path: "\f1b9"; +$el-var-pause: "\f1bb"; +$el-var-pause-alt: "\f1ba"; +$el-var-pencil: "\f1bd"; +$el-var-pencil-alt: "\f1bc"; +$el-var-person: "\f1be"; +$el-var-phone: "\f1c0"; +$el-var-phone-alt: "\f1bf"; +$el-var-photo: "\f1c2"; +$el-var-photo-alt: "\f1c1"; +$el-var-picasa: "\f1c3"; +$el-var-picture: "\f1c4"; +$el-var-plane: "\f1c5"; +$el-var-play: "\f1c8"; +$el-var-play-alt: "\f1c6"; +$el-var-play-circle: "\f1c7"; +$el-var-plurk: "\f1ca"; +$el-var-plurk-alt: "\f1c9"; +$el-var-plus: "\f1cc"; +$el-var-plus-sign: "\f1cb"; +$el-var-podcast: "\f1cd"; +$el-var-print: "\f1ce"; +$el-var-puzzle: "\f1cf"; +$el-var-qrcode: "\f1d0"; +$el-var-question: "\f1d2"; +$el-var-question-sign: "\f1d1"; +$el-var-quote-alt: "\f1d3"; +$el-var-quote-right: "\f1d5"; +$el-var-quote-right-alt: "\f1d4"; +$el-var-quotes: "\f1d6"; +$el-var-random: "\f1d7"; +$el-var-record: "\f1d8"; +$el-var-reddit: "\f1d9"; +$el-var-redux: "\f1da"; +$el-var-refresh: "\f1db"; +$el-var-remove: "\f1de"; +$el-var-remove-circle: "\f1dc"; +$el-var-remove-sign: "\f1dd"; +$el-var-repeat: "\f1e0"; +$el-var-repeat-alt: "\f1df"; +$el-var-resize-full: "\f1e1"; +$el-var-resize-horizontal: "\f1e2"; +$el-var-resize-small: "\f1e3"; +$el-var-resize-vertical: "\f1e4"; +$el-var-return-key: "\f1e5"; +$el-var-retweet: "\f1e6"; +$el-var-reverse-alt: "\f1e7"; +$el-var-road: "\f1e8"; +$el-var-rss: "\f1e9"; +$el-var-scissors: "\f1ea"; +$el-var-screen: "\f1ec"; +$el-var-screen-alt: "\f1eb"; +$el-var-screenshot: "\f1ed"; +$el-var-search: "\f1ef"; +$el-var-search-alt: "\f1ee"; +$el-var-share: "\f1f1"; +$el-var-share-alt: "\f1f0"; +$el-var-shopping-cart: "\f1f3"; +$el-var-shopping-cart-sign: "\f1f2"; +$el-var-shortcode: "\f1f4"; +$el-var-signal: "\f1f5"; +$el-var-skype: "\f1f6"; +$el-var-slideshare: "\f1f7"; +$el-var-smiley: "\f1f9"; +$el-var-smiley-alt: "\f1f8"; +$el-var-soundcloud: "\f1fa"; +$el-var-speaker: "\f1fb"; +$el-var-spotify: "\f1fc"; +$el-var-stackoverflow: "\f1fd"; +$el-var-star: "\f200"; +$el-var-star-alt: "\f1fe"; +$el-var-star-empty: "\f1ff"; +$el-var-step-backward: "\f201"; +$el-var-step-forward: "\f202"; +$el-var-stop: "\f204"; +$el-var-stop-alt: "\f203"; +$el-var-stumbleupon: "\f205"; +$el-var-tag: "\f206"; +$el-var-tags: "\f207"; +$el-var-tasks: "\f208"; +$el-var-text-height: "\f209"; +$el-var-text-width: "\f20a"; +$el-var-th: "\f20d"; +$el-var-th-large: "\f20b"; +$el-var-th-list: "\f20c"; +$el-var-thumbs-down: "\f20e"; +$el-var-thumbs-up: "\f20f"; +$el-var-time: "\f211"; +$el-var-time-alt: "\f210"; +$el-var-tint: "\f212"; +$el-var-torso: "\f213"; +$el-var-trash: "\f215"; +$el-var-trash-alt: "\f214"; +$el-var-tumblr: "\f216"; +$el-var-twitter: "\f217"; +$el-var-universal-access: "\f218"; +$el-var-unlock: "\f21a"; +$el-var-unlock-alt: "\f219"; +$el-var-upload: "\f21b"; +$el-var-usd: "\f21c"; +$el-var-user: "\f21d"; +$el-var-viadeo: "\f21e"; +$el-var-video: "\f221"; +$el-var-video-alt: "\f21f"; +$el-var-video-chat: "\f220"; +$el-var-view-mode: "\f222"; +$el-var-vimeo: "\f223"; +$el-var-vkontakte: "\f224"; +$el-var-volume-down: "\f225"; +$el-var-volume-off: "\f226"; +$el-var-volume-up: "\f227"; +$el-var-w3c: "\f228"; +$el-var-warning-sign: "\f229"; +$el-var-website: "\f22b"; +$el-var-website-alt: "\f22a"; +$el-var-wheelchair: "\f22c"; +$el-var-wordpress: "\f22d"; +$el-var-wrench: "\f22f"; +$el-var-wrench-alt: "\f22e"; +$el-var-youtube: "\f230"; +$el-var-zoom-in: "\f231"; +$el-var-zoom-out: "\f232"; + diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css new file mode 100644 index 00000000..7c203980 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css @@ -0,0 +1,4 @@ +/*! + * Elusive Icons 2.0.0 by @ReduxFramework - http://elusiveicons.com - @reduxframework + * License - http://elusiveicons.com/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'Elusive-Icons';src:url("fonts/elusiveicons-webfont.eot?v=2.0.0");src:url("fonts/elusiveicons-webfont.eot?#iefix&v=2.0.0") format("embedded-opentype"),url("fonts/elusiveicons-webfont.woff?v=2.0.0") format("woff"),url("fonts/elusiveicons-webfont.ttf?v=2.0.0") format("truetype"),url("fonts/elusiveicons-webfont.svg?v=2.0.0#elusiveiconsregular") format("svg");font-weight:normal;font-style:normal}.el{display:inline-block;font:normal normal normal 14px/1 "Elusive-Icons";font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.el-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.el-2x{font-size:2em}.el-3x{font-size:3em}.el-4x{font-size:4em}.el-5x{font-size:5em}.el-fw{width:1.28571em;text-align:center}.el-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.el-ul>li{position:relative}.el-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.el-li.el-lg{left:-1.85714em}.el-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.el.pull-left{margin-right:.3em}.el.pull-right{margin-left:.3em}.el-spin{-webkit-animation:el-spin 2s infinite linear;animation:el-spin 2s infinite linear}.el-pulse{-webkit-animation:el-spin 1s infinite steps(8);animation:el-spin 1s infinite steps(8)}@-webkit-keyframes el-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes el-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.el-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.el-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.el-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.el-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.el-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .el-rotate-90,:root .el-rotate-180,:root .el-rotate-270,:root .el-flip-horizontal,:root .el-flip-vertical{filter:none}.el-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.el-stack-1x,.el-stack-2x{position:absolute;left:0;width:100%;text-align:center}.el-stack-1x{line-height:inherit}.el-stack-2x{font-size:2em}.el-inverse{color:#fff}.el-icon-address-book-alt:before,.el-address-book-alt:before{content:""}.el-icon-address-book:before,.el-address-book:before{content:""}.el-icon-adjust-alt:before,.el-adjust-alt:before{content:""}.el-icon-adjust:before,.el-adjust:before{content:""}.el-icon-adult:before,.el-adult:before{content:""}.el-icon-align-center:before,.el-align-center:before{content:""}.el-icon-align-justify:before,.el-align-justify:before{content:""}.el-icon-align-left:before,.el-align-left:before{content:""}.el-icon-align-right:before,.el-align-right:before{content:""}.el-icon-arrow-down:before,.el-arrow-down:before{content:""}.el-icon-arrow-left:before,.el-arrow-left:before{content:""}.el-icon-arrow-right:before,.el-arrow-right:before{content:""}.el-icon-arrow-up:before,.el-arrow-up:before{content:""}.el-icon-asl:before,.el-asl:before{content:""}.el-icon-asterisk:before,.el-asterisk:before{content:""}.el-icon-backward:before,.el-backward:before{content:""}.el-icon-ban-circle:before,.el-ban-circle:before{content:""}.el-icon-barcode:before,.el-barcode:before{content:""}.el-icon-behance:before,.el-behance:before{content:""}.el-icon-bell:before,.el-bell:before{content:""}.el-icon-blind:before,.el-blind:before{content:""}.el-icon-blogger:before,.el-blogger:before{content:""}.el-icon-bold:before,.el-bold:before{content:""}.el-icon-book:before,.el-book:before{content:""}.el-icon-bookmark-empty:before,.el-bookmark-empty:before{content:""}.el-icon-bookmark:before,.el-bookmark:before{content:""}.el-icon-brackets:before,.el-brackets:before{content:""}.el-icon-braille:before,.el-braille:before{content:""}.el-icon-briefcase:before,.el-briefcase:before{content:""}.el-icon-broom:before,.el-broom:before{content:""}.el-icon-brush:before,.el-brush:before{content:""}.el-icon-bulb:before,.el-bulb:before{content:""}.el-icon-bullhorn:before,.el-bullhorn:before{content:""}.el-icon-calendar-sign:before,.el-calendar-sign:before{content:""}.el-icon-calendar:before,.el-calendar:before{content:""}.el-icon-camera:before,.el-camera:before{content:""}.el-icon-car:before,.el-car:before{content:""}.el-icon-caret-down:before,.el-caret-down:before{content:""}.el-icon-caret-left:before,.el-caret-left:before{content:""}.el-icon-caret-right:before,.el-caret-right:before{content:""}.el-icon-caret-up:before,.el-caret-up:before{content:""}.el-icon-cc:before,.el-cc:before{content:""}.el-icon-certificate:before,.el-certificate:before{content:""}.el-icon-check-empty:before,.el-check-empty:before{content:""}.el-icon-check:before,.el-check:before{content:""}.el-icon-chevron-down:before,.el-chevron-down:before{content:""}.el-icon-chevron-left:before,.el-chevron-left:before{content:""}.el-icon-chevron-right:before,.el-chevron-right:before{content:""}.el-icon-chevron-up:before,.el-chevron-up:before{content:""}.el-icon-child:before,.el-child:before{content:""}.el-icon-circle-arrow-down:before,.el-circle-arrow-down:before{content:""}.el-icon-circle-arrow-left:before,.el-circle-arrow-left:before{content:""}.el-icon-circle-arrow-right:before,.el-circle-arrow-right:before{content:""}.el-icon-circle-arrow-up:before,.el-circle-arrow-up:before{content:""}.el-icon-cloud-alt:before,.el-cloud-alt:before{content:""}.el-icon-cloud:before,.el-cloud:before{content:""}.el-icon-cog-alt:before,.el-cog-alt:before{content:""}.el-icon-cog:before,.el-cog:before{content:""}.el-icon-cogs:before,.el-cogs:before{content:""}.el-icon-comment-alt:before,.el-comment-alt:before{content:""}.el-icon-comment:before,.el-comment:before{content:""}.el-icon-compass-alt:before,.el-compass-alt:before{content:""}.el-icon-compass:before,.el-compass:before{content:""}.el-icon-credit-card:before,.el-credit-card:before{content:""}.el-icon-css:before,.el-css:before{content:""}.el-icon-dashboard:before,.el-dashboard:before{content:""}.el-icon-delicious:before,.el-delicious:before{content:""}.el-icon-deviantart:before,.el-deviantart:before{content:""}.el-icon-digg:before,.el-digg:before{content:""}.el-icon-download-alt:before,.el-download-alt:before{content:""}.el-icon-download:before,.el-download:before{content:""}.el-icon-dribbble:before,.el-dribbble:before{content:""}.el-icon-edit:before,.el-edit:before{content:""}.el-icon-eject:before,.el-eject:before{content:""}.el-icon-envelope-alt:before,.el-envelope-alt:before{content:""}.el-icon-envelope:before,.el-envelope:before{content:""}.el-icon-error-alt:before,.el-error-alt:before{content:""}.el-icon-error:before,.el-error:before{content:""}.el-icon-eur:before,.el-eur:before{content:""}.el-icon-exclamation-sign:before,.el-exclamation-sign:before{content:""}.el-icon-eye-close:before,.el-eye-close:before{content:""}.el-icon-eye-open:before,.el-eye-open:before{content:""}.el-icon-facebook:before,.el-facebook:before{content:""}.el-icon-facetime-video:before,.el-facetime-video:before{content:""}.el-icon-fast-backward:before,.el-fast-backward:before{content:""}.el-icon-fast-forward:before,.el-fast-forward:before{content:""}.el-icon-female:before,.el-female:before{content:""}.el-icon-file-alt:before,.el-file-alt:before{content:""}.el-icon-file-edit-alt:before,.el-file-edit-alt:before{content:""}.el-icon-file-edit:before,.el-file-edit:before{content:""}.el-icon-file-new-alt:before,.el-file-new-alt:before{content:""}.el-icon-file-new:before,.el-file-new:before{content:""}.el-icon-file:before,.el-file:before{content:""}.el-icon-film:before,.el-film:before{content:""}.el-icon-filter:before,.el-filter:before{content:""}.el-icon-fire:before,.el-fire:before{content:""}.el-icon-flag-alt:before,.el-flag-alt:before{content:""}.el-icon-flag:before,.el-flag:before{content:""}.el-icon-flickr:before,.el-flickr:before{content:""}.el-icon-folder-close:before,.el-folder-close:before{content:""}.el-icon-folder-open:before,.el-folder-open:before{content:""}.el-icon-folder-sign:before,.el-folder-sign:before{content:""}.el-icon-folder:before,.el-folder:before{content:""}.el-icon-font:before,.el-font:before{content:""}.el-icon-fontsize:before,.el-fontsize:before{content:""}.el-icon-fork:before,.el-fork:before{content:""}.el-icon-forward-alt:before,.el-forward-alt:before{content:""}.el-icon-forward:before,.el-forward:before{content:""}.el-icon-foursquare:before,.el-foursquare:before{content:""}.el-icon-friendfeed-rect:before,.el-friendfeed-rect:before{content:""}.el-icon-friendfeed:before,.el-friendfeed:before{content:""}.el-icon-fullscreen:before,.el-fullscreen:before{content:""}.el-icon-gallery:before,.el-gallery:before{content:""}.el-icon-gbp:before,.el-gbp:before{content:""}.el-icon-gift:before,.el-gift:before{content:""}.el-icon-github-text:before,.el-github-text:before{content:""}.el-icon-github:before,.el-github:before{content:""}.el-icon-glass:before,.el-glass:before{content:""}.el-icon-glasses:before,.el-glasses:before{content:""}.el-icon-globe-alt:before,.el-globe-alt:before{content:""}.el-icon-globe:before,.el-globe:before{content:""}.el-icon-googleplus:before,.el-googleplus:before{content:""}.el-icon-graph-alt:before,.el-graph-alt:before{content:""}.el-icon-graph:before,.el-graph:before{content:""}.el-icon-group-alt:before,.el-group-alt:before{content:""}.el-icon-group:before,.el-group:before{content:""}.el-icon-guidedog:before,.el-guidedog:before{content:""}.el-icon-hand-down:before,.el-hand-down:before{content:""}.el-icon-hand-left:before,.el-hand-left:before{content:""}.el-icon-hand-right:before,.el-hand-right:before{content:""}.el-icon-hand-up:before,.el-hand-up:before{content:""}.el-icon-hdd:before,.el-hdd:before{content:""}.el-icon-headphones:before,.el-headphones:before{content:""}.el-icon-hearing-impaired:before,.el-hearing-impaired:before{content:""}.el-icon-heart-alt:before,.el-heart-alt:before{content:""}.el-icon-heart-empty:before,.el-heart-empty:before{content:""}.el-icon-heart:before,.el-heart:before{content:""}.el-icon-home-alt:before,.el-home-alt:before{content:""}.el-icon-home:before,.el-home:before{content:""}.el-icon-hourglass:before,.el-hourglass:before{content:""}.el-icon-idea-alt:before,.el-idea-alt:before{content:""}.el-icon-idea:before,.el-idea:before{content:""}.el-icon-inbox-alt:before,.el-inbox-alt:before{content:""}.el-icon-inbox-box:before,.el-inbox-box:before{content:""}.el-icon-inbox:before,.el-inbox:before{content:""}.el-icon-indent-left:before,.el-indent-left:before{content:""}.el-icon-indent-right:before,.el-indent-right:before{content:""}.el-icon-info-circle:before,.el-info-circle:before{content:""}.el-icon-instagram:before,.el-instagram:before{content:""}.el-icon-iphone-home:before,.el-iphone-home:before{content:""}.el-icon-italic:before,.el-italic:before{content:""}.el-icon-key:before,.el-key:before{content:""}.el-icon-laptop-alt:before,.el-laptop-alt:before{content:""}.el-icon-laptop:before,.el-laptop:before{content:""}.el-icon-lastfm:before,.el-lastfm:before{content:""}.el-icon-leaf:before,.el-leaf:before{content:""}.el-icon-lines:before,.el-lines:before{content:""}.el-icon-link:before,.el-link:before{content:""}.el-icon-linkedin:before,.el-linkedin:before{content:""}.el-icon-list-alt:before,.el-list-alt:before{content:""}.el-icon-list:before,.el-list:before{content:""}.el-icon-livejournal:before,.el-livejournal:before{content:""}.el-icon-lock-alt:before,.el-lock-alt:before{content:""}.el-icon-lock:before,.el-lock:before{content:""}.el-icon-magic:before,.el-magic:before{content:""}.el-icon-magnet:before,.el-magnet:before{content:""}.el-icon-male:before,.el-male:before{content:""}.el-icon-map-marker-alt:before,.el-map-marker-alt:before{content:""}.el-icon-map-marker:before,.el-map-marker:before{content:""}.el-icon-mic-alt:before,.el-mic-alt:before{content:""}.el-icon-mic:before,.el-mic:before{content:""}.el-icon-minus-sign:before,.el-minus-sign:before{content:""}.el-icon-minus:before,.el-minus:before{content:""}.el-icon-move:before,.el-move:before{content:""}.el-icon-music:before,.el-music:before{content:""}.el-icon-myspace:before,.el-myspace:before{content:""}.el-icon-network:before,.el-network:before{content:""}.el-icon-off:before,.el-off:before{content:""}.el-icon-ok-circle:before,.el-ok-circle:before{content:""}.el-icon-ok-sign:before,.el-ok-sign:before{content:""}.el-icon-ok:before,.el-ok:before{content:""}.el-icon-opensource:before,.el-opensource:before{content:""}.el-icon-paper-clip-alt:before,.el-paper-clip-alt:before{content:""}.el-icon-paper-clip:before,.el-paper-clip:before{content:""}.el-icon-path:before,.el-path:before{content:""}.el-icon-pause-alt:before,.el-pause-alt:before{content:""}.el-icon-pause:before,.el-pause:before{content:""}.el-icon-pencil-alt:before,.el-pencil-alt:before{content:""}.el-icon-pencil:before,.el-pencil:before{content:""}.el-icon-person:before,.el-person:before{content:""}.el-icon-phone-alt:before,.el-phone-alt:before{content:""}.el-icon-phone:before,.el-phone:before{content:""}.el-icon-photo-alt:before,.el-photo-alt:before{content:""}.el-icon-photo:before,.el-photo:before{content:""}.el-icon-picasa:before,.el-picasa:before{content:""}.el-icon-picture:before,.el-picture:before{content:""}.el-icon-plane:before,.el-plane:before{content:""}.el-icon-play-alt:before,.el-play-alt:before{content:""}.el-icon-play-circle:before,.el-play-circle:before{content:""}.el-icon-play:before,.el-play:before{content:""}.el-icon-plurk-alt:before,.el-plurk-alt:before{content:""}.el-icon-plurk:before,.el-plurk:before{content:""}.el-icon-plus-sign:before,.el-plus-sign:before{content:""}.el-icon-plus:before,.el-plus:before{content:""}.el-icon-podcast:before,.el-podcast:before{content:""}.el-icon-print:before,.el-print:before{content:""}.el-icon-puzzle:before,.el-puzzle:before{content:""}.el-icon-qrcode:before,.el-qrcode:before{content:""}.el-icon-question-sign:before,.el-question-sign:before{content:""}.el-icon-question:before,.el-question:before{content:""}.el-icon-quote-alt:before,.el-quote-alt:before{content:""}.el-icon-quote-right-alt:before,.el-quote-right-alt:before{content:""}.el-icon-quote-right:before,.el-quote-right:before{content:""}.el-icon-quotes:before,.el-quotes:before{content:""}.el-icon-random:before,.el-random:before{content:""}.el-icon-record:before,.el-record:before{content:""}.el-icon-reddit:before,.el-reddit:before{content:""}.el-icon-redux:before,.el-redux:before{content:""}.el-icon-refresh:before,.el-refresh:before{content:""}.el-icon-remove-circle:before,.el-remove-circle:before{content:""}.el-icon-remove-sign:before,.el-remove-sign:before{content:""}.el-icon-remove:before,.el-remove:before{content:""}.el-icon-repeat-alt:before,.el-repeat-alt:before{content:""}.el-icon-repeat:before,.el-repeat:before{content:""}.el-icon-resize-full:before,.el-resize-full:before{content:""}.el-icon-resize-horizontal:before,.el-resize-horizontal:before{content:""}.el-icon-resize-small:before,.el-resize-small:before{content:""}.el-icon-resize-vertical:before,.el-resize-vertical:before{content:""}.el-icon-return-key:before,.el-return-key:before{content:""}.el-icon-retweet:before,.el-retweet:before{content:""}.el-icon-reverse-alt:before,.el-reverse-alt:before{content:""}.el-icon-road:before,.el-road:before{content:""}.el-icon-rss:before,.el-rss:before{content:""}.el-icon-scissors:before,.el-scissors:before{content:""}.el-icon-screen-alt:before,.el-screen-alt:before{content:""}.el-icon-screen:before,.el-screen:before{content:""}.el-icon-screenshot:before,.el-screenshot:before{content:""}.el-icon-search-alt:before,.el-search-alt:before{content:""}.el-icon-search:before,.el-search:before{content:""}.el-icon-share-alt:before,.el-share-alt:before{content:""}.el-icon-share:before,.el-share:before{content:""}.el-icon-shopping-cart-sign:before,.el-shopping-cart-sign:before{content:""}.el-icon-shopping-cart:before,.el-shopping-cart:before{content:""}.el-icon-shortcode:before,.el-shortcode:before{content:""}.el-icon-signal:before,.el-signal:before{content:""}.el-icon-skype:before,.el-skype:before{content:""}.el-icon-slideshare:before,.el-slideshare:before{content:""}.el-icon-smiley-alt:before,.el-smiley-alt:before{content:""}.el-icon-smiley:before,.el-smiley:before{content:""}.el-icon-soundcloud:before,.el-soundcloud:before{content:""}.el-icon-speaker:before,.el-speaker:before{content:""}.el-icon-spotify:before,.el-spotify:before{content:""}.el-icon-stackoverflow:before,.el-stackoverflow:before{content:""}.el-icon-star-alt:before,.el-star-alt:before{content:""}.el-icon-star-empty:before,.el-star-empty:before{content:""}.el-icon-star:before,.el-star:before{content:""}.el-icon-step-backward:before,.el-step-backward:before{content:""}.el-icon-step-forward:before,.el-step-forward:before{content:""}.el-icon-stop-alt:before,.el-stop-alt:before{content:""}.el-icon-stop:before,.el-stop:before{content:""}.el-icon-stumbleupon:before,.el-stumbleupon:before{content:""}.el-icon-tag:before,.el-tag:before{content:""}.el-icon-tags:before,.el-tags:before{content:""}.el-icon-tasks:before,.el-tasks:before{content:""}.el-icon-text-height:before,.el-text-height:before{content:""}.el-icon-text-width:before,.el-text-width:before{content:""}.el-icon-th-large:before,.el-th-large:before{content:""}.el-icon-th-list:before,.el-th-list:before{content:""}.el-icon-th:before,.el-th:before{content:""}.el-icon-thumbs-down:before,.el-thumbs-down:before{content:""}.el-icon-thumbs-up:before,.el-thumbs-up:before{content:""}.el-icon-time-alt:before,.el-time-alt:before{content:""}.el-icon-time:before,.el-time:before{content:""}.el-icon-tint:before,.el-tint:before{content:""}.el-icon-torso:before,.el-torso:before{content:""}.el-icon-trash-alt:before,.el-trash-alt:before{content:""}.el-icon-trash:before,.el-trash:before{content:""}.el-icon-tumblr:before,.el-tumblr:before{content:""}.el-icon-twitter:before,.el-twitter:before{content:""}.el-icon-universal-access:before,.el-universal-access:before{content:""}.el-icon-unlock-alt:before,.el-unlock-alt:before{content:""}.el-icon-unlock:before,.el-unlock:before{content:""}.el-icon-upload:before,.el-upload:before{content:""}.el-icon-usd:before,.el-usd:before{content:""}.el-icon-user:before,.el-user:before{content:""}.el-icon-viadeo:before,.el-viadeo:before{content:""}.el-icon-video-alt:before,.el-video-alt:before{content:""}.el-icon-video-chat:before,.el-video-chat:before{content:""}.el-icon-video:before,.el-video:before{content:""}.el-icon-view-mode:before,.el-view-mode:before{content:""}.el-icon-vimeo:before,.el-vimeo:before{content:""}.el-icon-vkontakte:before,.el-vkontakte:before{content:""}.el-icon-volume-down:before,.el-volume-down:before{content:""}.el-icon-volume-off:before,.el-volume-off:before{content:""}.el-icon-volume-up:before,.el-volume-up:before{content:""}.el-icon-w3c:before,.el-w3c:before{content:""}.el-icon-warning-sign:before,.el-warning-sign:before{content:""}.el-icon-website-alt:before,.el-website-alt:before{content:""}.el-icon-website:before,.el-website:before{content:""}.el-icon-wheelchair:before,.el-wheelchair:before{content:""}.el-icon-wordpress:before,.el-wordpress:before{content:""}.el-icon-wrench-alt:before,.el-wrench-alt:before{content:""}.el-icon-wrench:before,.el-wrench:before{content:""}.el-icon-youtube:before,.el-youtube:before{content:""}.el-icon-zoom-in:before,.el-zoom-in:before{content:""}.el-icon-zoom-out:before,.el-zoom-out:before{content:""} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css.map b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css.map new file mode 100644 index 00000000..c576afb4 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["_path.scss","_core.scss","_larger.scss","_fixed-width.scss","_list.scss","_variables.scss","_bordered-pulled.scss","_animated.scss","_rotated-flipped.scss","_mixins.scss","_stacked.scss","_icons.scss"], +"names": [], +"file": "elusive-icons.css" +} \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.scss b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.scss new file mode 100644 index 00000000..c3bb7ba3 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.scss @@ -0,0 +1,17 @@ +/*! + * Elusive Icons 2.0.0 by @ReduxFramework - http://elusiveicons.com - @reduxframework + * License - http://elusiveicons.com/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.js b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.js index d44b1c48..c5bea9c0 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.js @@ -1,4 +1,4 @@ -/* global confirm, relid:true, jsonView */ +/* global redux, confirm, relid:true, jsonView */ (function( $ ) { 'use strict'; @@ -15,7 +15,6 @@ var win = $( window ); var viewport = { top: win.scrollTop(), - left: win.scrollLeft() }; viewport.right = viewport.left + win.width(); @@ -37,20 +36,124 @@ $.redux.notices(); $.redux.tabControl(); $.redux.devFunctions(); + } ); + $.redux.ajax_save = function( button ) { + + var overlay = $( document.getElementById( 'redux_ajax_overlay' ) ); + overlay.fadeIn(); + + // Add the loading mechanism + jQuery( '.redux-action_bar .spinner' ).show(); + jQuery( '.redux-action_bar input' ).attr( 'disabled', 'disabled' ); + var $notification_bar = jQuery( document.getElementById( 'redux_notification_bar' ) ); + $notification_bar.slideUp(); + jQuery( '.redux-save-warn' ).slideUp(); + jQuery( '.redux_ajax_save_error' ).slideUp('medium', function(){ + jQuery( this ).remove(); + }); + + var $parent = jQuery( document.getElementById( "redux-form-wrapper" ) ); + + // Editor field doesn't auto save. Have to call it. Boo. + if ( redux.fields.hasOwnProperty( "editor" ) ) { + $.each( + redux.fields.editor, function( $key, $index ) { + var editor = tinyMCE.get( $key ); + if ( editor ) { + editor.save(); + } + } + ); + } + + var $data = $parent.serialize(); + // add values for checked and unchecked checkboxes fields + $parent.find( 'input[type=checkbox]' ).each( + function() { + if ( typeof $( this ).attr( 'name' ) !== "undefined" ) { + var chkVal = $( this ).is( ':checked' ) ? $( this ).val() : "0"; + $data += "&" + $( this ).attr( 'name' ) + "=" + chkVal; + } + } + ); + + + if ( button.attr( 'name' ) != "redux_save" ) { + $data += "&" + button.attr( 'name' ) + "=" + button.val(); + } + + var $nonce = $parent.attr( "data-nonce" ); + + jQuery.ajax( + { + type: "post", + dataType: "json", + url: ajaxurl, + data: { + action: redux.args.opt_name + "_ajax_save", + nonce: $nonce, + 'opt_name': redux.args.opt_name, + data: $data + }, + error: function( response ) { + if ( !window.console ) console = {}; + console.log = console.log || function( name, data ) { + }; + console.log( redux.ajax.console ); + console.log( response.responseText ); + jQuery( '.redux-action_bar input' ).removeAttr( 'disabled' ); + overlay.fadeOut( 'fast' ); + jQuery( '.redux-action_bar .spinner' ).fadeOut( 'fast' ); + alert( redux.ajax.alert ); + }, + success: function( response ) { + if ( response.action && response.action == "reload" ) { + location.reload(true); + } else if ( response.status == "success" ) { + jQuery( '.redux-action_bar input' ).removeAttr( 'disabled' ); + overlay.fadeOut( 'fast' ); + jQuery( '.redux-action_bar .spinner' ).fadeOut( 'fast' ); + redux.options = response.options; + //redux.defaults = response.defaults; + redux.errors = response.errors; + redux.warnings = response.warnings; + + $notification_bar.html( response.notification_bar ).slideDown( 'fast' ); + if ( response.errors !== null || response.warnings !== null ) { + $.redux.notices(); + } + var $save_notice = $( document.getElementById( 'redux_notification_bar' ) ).find( '.saved_notice' ); + $save_notice.slideDown(); + $save_notice.delay( 4000 ).slideUp(); + } else { + jQuery( '.redux-action_bar input' ).removeAttr( 'disabled' ); + jQuery( '.redux-action_bar .spinner' ).fadeOut( 'fast' ); + overlay.fadeOut( 'fast' ); + jQuery( '.wrap h2:first' ).parent().append( '' ); + jQuery( '.redux_ajax_save_error' ).slideDown(); + jQuery( "html, body" ).animate( {scrollTop: 0}, "slow" ); + } + } + } + ); + return false; + }; + $.redux.initEvents = function() { - $( '.redux-action_bar, .redux-presets-bar' ).on( + $( '.redux-presets-bar' ).on( 'click', function() { window.onbeforeunload = null; } ); + $( '#toplevel_page_' + redux.args.slug + ' .wp-submenu a, #wp-admin-bar-' + redux.args.slug + ' a.ab-item' ).click( function( e ) { - if ( ( $( '#toplevel_page_' + redux.args.slug ).hasClass( 'wp-menu-open' ) || $( this ).hasClass( 'ab-item' ) ) && !$( this ).parents( 'ul.ab-submenu:first' ).hasClass( 'ab-sub-secondary' ) ) { + if ( ( $( '#toplevel_page_' + redux.args.slug ).hasClass( 'wp-menu-open' ) || $( this ).hasClass( 'ab-item' ) ) && !$( this ).parents( 'ul.ab-submenu:first' ).hasClass( 'ab-sub-secondary' ) && $( this ).attr( 'href' ).toLowerCase().indexOf( redux.args.slug + "&tab=" ) >= 0 ) { e.preventDefault(); var url = $( this ).attr( 'href' ).split( '&tab=' ); $( '#' + url[1] + '_section_group_li_a' ).click(); @@ -62,47 +165,75 @@ } ); - - // Default button clicked - $( 'input[name="' + redux.args.opt_name + '[defaults]"]' ).click( - function() { - if ( !confirm( redux.args.reset_confirm ) ) { - return false; - } - window.onbeforeunload = null; - } - ); - - // Default button clicked - $( 'input[name="' + redux.args.opt_name + '[defaults-section]"]' ).click( - function() { - if ( !confirm( redux.args.reset_section_confirm ) ) { - return false; + // Save button clicked + $( '.redux-action_bar input' ).on( + 'click', function( e ) { + if ( $( this ).attr( 'name' ) == redux.args.opt_name + '[defaults]' ) { + // Defaults button clicked + if ( !confirm( redux.args.reset_confirm ) ) { + return false; + } + } else if ( $( this ).attr( 'name' ) == redux.args.opt_name + '[defaults-section]' ) { + // Default section clicked + if ( !confirm( redux.args.reset_section_confirm ) ) { + return false; + } } window.onbeforeunload = null; + + if ( redux.args.ajax_save === true ) { + $.redux.ajax_save( $( this ) ); + e.preventDefault(); + } } ); + // + //// Default button clicked + //$( 'input[name="' + redux.args.opt_name + '[defaults]"]' ).click( + // function() { + // if ( !confirm( redux.args.reset_confirm ) ) { + // return false; + // } + // window.onbeforeunload = null; + // } + //); + + + //$( 'input[name="' + redux.args.opt_name + '[defaults-section]"]' ).click( + // function() { + // if ( !confirm( redux.args.reset_section_confirm ) ) { + // return false; + // } + // + // window.onbeforeunload = null; + // } + //); + //$( '.redux-save' ).click( + // function() { + // window.onbeforeunload = null; + // } + //); $( '.expand_options' ).click( function( e ) { - + e.preventDefault(); - var container = $('.redux-container'); - if ($(container).hasClass('fully-expanded')) { - $(container).removeClass('fully-expanded'); + var container = $( '.redux-container' ); + if ( $( container ).hasClass( 'fully-expanded' ) ) { + $( container ).removeClass( 'fully-expanded' ); var tab = $.cookie( "redux_current_tab" ); - $('.redux-container:first').find( '#' + tab + '_section_group' ).fadeIn( + $( '.redux-container:first' ).find( '#' + tab + '_section_group' ).fadeIn( 200, function() { - if ( $('.redux-container:first').find( '#redux-footer' ).length !== 0 ) { + if ( $( '.redux-container:first' ).find( '#redux-footer' ).length !== 0 ) { $.redux.stickyInfo(); // race condition fix } $.redux.initFields(); } - ); + ); } $.redux.expandOptions( $( this ).parents( '.redux-container:first' ) ); @@ -130,6 +261,7 @@ height: stickyHeight } ); + $( '#redux-footer-sticky' ).removeClass( 'hide' ); if ( $( '#redux-footer' ).length !== 0 ) { $( window ).scroll( @@ -147,18 +279,16 @@ $( '.saved_notice' ).delay( 4000 ).slideUp(); - $( '.redux-save' ).click( - function() { - window.onbeforeunload = null; - } - ); + }; $.redux.hideFields = function() { - $("label[for='redux_hide_field']").each(function(idx,val){ - var tr = $(this).parent().parent(); - $(tr).addClass('hidden'); - }); + $( "label[for='redux_hide_field']" ).each( + function( idx, val ) { + var tr = $( this ).parent().parent(); + $( tr ).addClass( 'hidden' ); + } + ); }; $.redux.checkRequired = function() { @@ -238,6 +368,36 @@ var tipHideEffect = redux.args.hints.tip_effect.hide.effect; var tipHideDuration = redux.args.hints.tip_effect.hide.duration; + $( 'div.redux-dev-qtip' ).each(function(){ + $( this ).qtip( + { + content: { + text: $( this ).attr( 'qtip-content' ), + title: $( this ).attr( 'qtip-title' ) + }, + show: { + effect: function() { + $( this ).slideDown( 500 ); + }, + event: 'mouseover', + }, + hide: { + effect: function() { + $( this ).slideUp( 500 ); + }, + event: 'mouseleave', + }, + style: { + classes: 'qtip-shadow qtip-light', + }, + position: { + my: 'top center', + at: 'bottom center', + }, + } + ); + }); + $( 'div.redux-hint-qtip' ).each( function() { $( this ).qtip( @@ -389,10 +549,20 @@ } ); var newParent = el.find( '#' + relid + '_section_group_li' ).parents( '.hasSubSections:first' ); + if ( newParent.length > 0 ) { el.find( '#' + relid + '_section_group_li' ).removeClass( 'active' ); relid = newParent.find( '.redux-group-tab-link-a:first' ).data( 'rel' ); - el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ).removeClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); + //console.log(relid); + if ( newParent.hasClass( 'empty_section' ) ) { + newParent.find( '.subsection li:first' ).addClass( 'active' ); + el.find( '#' + relid + '_section_group_li' ).removeClass( 'active' ).addClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); + newParent = newParent.find( '.subsection li:first' ); + relid = newParent.find( '.redux-group-tab-link-a:first' ).data( 'rel' ); + //console.log('Empty section, do the next one?'); + } else { + el.find( '#' + relid + '_section_group_li' ).addClass( 'active' ).removeClass( 'activeChild' ).find( 'ul.subsection' ).slideDown(); + } } } else if ( el.find( '#' + oldid + '_section_group_li' ).parents( 'ul.subsection' ).length ) { //console.log('oldid is a child'); @@ -407,6 +577,7 @@ } ); } else { + //console.log('oldid is child, but not of relid2'); el.find( '#' + oldid + '_section_group_li' ).removeClass( 'active' ); } } else { @@ -475,15 +646,23 @@ function() { var type = $( this ).attr( 'data-type' ); //console.log(type); - if ( redux.field_objects[type] ) { + if ( typeof redux.field_objects != 'undefined' && redux.field_objects[type] && redux.field_objects[type] ) { redux.field_objects[type].init(); } + if ( $( this ).hasClass( 'redux_remove_th' ) ) { + var tr = $( this ).parents( 'tr:first' ); + var th = tr.find( 'th:first' ); + $( this ).prepend( th.html() ); + $( this ).find( '.redux_field_th' ).css( 'padding', '0 0 10px 0' ); + $( this ).parent().attr( 'colspan', '2' ); + th.remove(); + } } ); }; $.redux.notices = function() { - if ( redux.errors !== undefined ) { + if ( redux.errors && redux.errors.errors ) { $.each( redux.errors.errors, function( sectionID, sectionArray ) { $.each( @@ -491,15 +670,18 @@ $( "#" + redux.args.opt_name + '-' + value.id ).addClass( "redux-field-error" ); if ( $( "#" + redux.args.opt_name + '-' + value.id ).parent().find( '.redux-th-error' ).length === 0 ) { $( "#" + redux.args.opt_name + '-' + value.id ).append( '
' + value.msg + '
' ); + } else { + $( "#" + redux.args.opt_name + '-' + value.id ).parent().find( '.redux-th-error' ).html(value.msg).css('display', 'block'); } } ); } ); - $( '.redux-container' ).each( function() { var container = $( this ); + // Ajax cleanup + container.find( '.redux-menu-error' ).remove(); var totalErrors = container.find( '.redux-field-error' ).length; if ( totalErrors > 0 ) { container.find( ".redux-field-errors span" ).text( totalErrors ); @@ -520,14 +702,37 @@ } ); } + } + ); + } + if ( redux.warnings && redux.warnings.warnings ) { + $.each( + redux.warnings.warnings, function( sectionID, sectionArray ) { + $.each( + sectionArray.warnings, function( key, value ) { + $( "#" + redux.args.opt_name + '-' + value.id ).addClass( "redux-field-warning" ); + if ( $( "#" + redux.args.opt_name + '-' + value.id ).parent().find( '.redux-th-warning' ).length === 0 ) { + $( "#" + redux.args.opt_name + '-' + value.id ).append( '
' + value.msg + '
' ); + } else { + $( "#" + redux.args.opt_name + '-' + value.id ).parent().find( '.redux-th-warning' ).html(value.msg ).css('display', 'block'); + } + } + ); + } + ); + $( '.redux-container' ).each( + function() { + var container = $( this ); + // Ajax cleanup + container.find( '.redux-menu-warning' ).remove(); var totalWarnings = container.find( '.redux-field-warning' ).length; if ( totalWarnings > 0 ) { container.find( ".redux-field-warnings span" ).text( totalWarnings ); container.find( ".redux-field-warnings" ).slideDown(); container.find( '.redux-group-tab' ).each( function() { - var warning = $( this ).find( '.redux-field-warning' ).length; - if ( warning > 0 ) { + var total = $( this ).find( '.redux-field-warning' ).length; + if ( total > 0 ) { var sectionID = $( this ).attr( 'id' ).split( '_' ); sectionID = sectionID[0]; container.find( '.redux-group-tab-link-a[data-key="' + sectionID + '"]' ).prepend( '' + total + '' ); @@ -626,11 +831,11 @@ var value = $( '#' + redux.args.opt_name + '-' + id ).serializeForm(); if ( value !== null && typeof value === 'object' && value.hasOwnProperty( redux.args.opt_name ) ) { - //console.log('object'); - //console.log(value); value = value[redux.args.opt_name][id]; } - //console.log(value); + if ( $( '#' + redux.args.opt_name + '-' + id ).hasClass( 'redux-container-media' ) ) { + value = value.url; + } return value; }; @@ -640,7 +845,6 @@ } var current = $( variable ), id = current.parents( '.redux-field:first' ).data( 'id' ); - if ( !redux.required.hasOwnProperty( id ) ) { return; } @@ -648,7 +852,6 @@ var container = current.parents( '.redux-field-container:first' ), is_hidden = container.parents( 'tr:first' ).hasClass( '.hide' ), hadSections = false; - $.each( redux.required[id], function( child, dependents ) { @@ -785,172 +988,188 @@ case '=': case 'equals': if ( $.isArray( parentValue ) ) { - $(parentValue[0]).each(function(idx, val){ - if ($.isArray(checkValue)) { - $(checkValue).each (function(i, v){ - if (val == v) { + $( parentValue[0] ).each( + function( idx, val ) { + if ( $.isArray( checkValue ) ) { + $( checkValue ).each( + function( i, v ) { + if ( val == v ) { + show = true; + return true; + } + } + ); + } else { + if ( val == checkValue ) { show = true; return true; } - }); - } else { - if (val == checkValue) { - show = true; - return true; } } - }); + ); } else { - if ($.isArray(checkValue)) { - $(checkValue).each (function(i, v){ - if (parentValue == v) { - show = true; + if ( $.isArray( checkValue ) ) { + $( checkValue ).each( + function( i, v ) { + if ( parentValue == v ) { + show = true; + } } - }); + ); } else { - if (parentValue == checkValue) { + if ( parentValue == checkValue ) { show = true; } } } - break; - + break; + case '!=': case 'not': if ( $.isArray( parentValue ) ) { - $(parentValue[0]).each(function(idx, val){ - if ($.isArray(checkValue)) { - $(checkValue).each (function(i, v){ - if (val != v) { + $( parentValue[0] ).each( + function( idx, val ) { + if ( $.isArray( checkValue ) ) { + $( checkValue ).each( + function( i, v ) { + if ( val != v ) { + show = true; + return true; + } + } + ); + } else { + if ( val != checkValue ) { show = true; return true; } - }); - } else { - if (val != checkValue) { - show = true; - return true; } } - }); + ); } else { - if ($.isArray(checkValue)) { - $(checkValue).each (function(i, v){ - if (parentValue != v) { - show = true; + if ( $.isArray( checkValue ) ) { + $( checkValue ).each( + function( i, v ) { + if ( parentValue != v ) { + show = true; + } } - }); + ); } else { - if (parentValue != checkValue) { + if ( parentValue != checkValue ) { show = true; } } } - -// //if value was array -// if ( $.isArray( checkValue ) ) { -// if ( $.inArray( parentValue, checkValue ) == -1 ) { -// show = true; -// } -// } else { -// if ( parentValue != checkValue ) { -// show = true; -// } else if ( $.isArray( parentValue ) ) { -// if ( $.inArray( checkValue, parentValue ) == -1 ) { -// show = true; -// } -// } -// } - break; - + + // //if value was array + // if ( $.isArray( checkValue ) ) { + // if ( $.inArray( parentValue, checkValue ) == -1 ) { + // show = true; + // } + // } else { + // if ( parentValue != checkValue ) { + // show = true; + // } else if ( $.isArray( parentValue ) ) { + // if ( $.inArray( checkValue, parentValue ) == -1 ) { + // show = true; + // } + // } + // } + break; + case '>': case 'greater': case 'is_larger': if ( parseFloat( parentValue ) > parseFloat( checkValue ) ) { show = true; } - break; - + break; + case '>=': case 'greater_equal': case 'is_larger_equal': if ( parseFloat( parentValue ) >= parseFloat( checkValue ) ) { show = true; } - break; - + break; + case '<': case 'less': case 'is_smaller': if ( parseFloat( parentValue ) < parseFloat( checkValue ) ) { show = true; } - break; - + break; + case '<=': case 'less_equal': case 'is_smaller_equal': if ( parseFloat( parentValue ) <= parseFloat( checkValue ) ) { show = true; } - break; - + break; + case 'contains': if ( $.isArray( checkValue ) ) { - $(checkValue).each (function(idx, val) { - if ( parentValue.toString().indexOf( val ) !== -1 ) { - show = true; + $( checkValue ).each( + function( idx, val ) { + if ( parentValue.toString().indexOf( val ) !== -1 ) { + show = true; + } } - }); + ); } else { if ( parentValue.toString().indexOf( checkValue ) !== -1 ) { show = true; } } - break; - + break; + case 'doesnt_contain': case 'not_contain': if ( $.isArray( checkValue ) ) { - $(checkValue).each (function(idx, val) { - if ( parentValue.toString().indexOf( val ) === -1 ) { - show = true; + $( checkValue ).each( + function( idx, val ) { + if ( parentValue.toString().indexOf( val ) === -1 ) { + show = true; + } } - }); + ); } else { if ( parentValue.toString().indexOf( checkValue ) === -1 ) { show = true; } } - break; - + break; + case 'is_empty_or': if ( parentValue === "" || parentValue == checkValue ) { show = true; } - break; - + break; + case 'not_empty_and': if ( parentValue !== "" && parentValue != checkValue ) { show = true; } - break; - + break; + case 'is_empty': case 'empty': case '!isset': if ( !parentValue || parentValue === "" || parentValue === null ) { show = true; } - break; - + break; + case 'not_empty': case '!empty': case 'isset': if ( parentValue && parentValue !== "" && parentValue !== null ) { show = true; } - break; + break; } return show; @@ -989,25 +1208,21 @@ }; $.redux.stickyInfo = function() { - var stickyWidth = $( '#info_bar' ).width() - 4; + var stickyWidth = $( '.redux-main' ).innerWidth() - 20; if ( !$( '#info_bar' ).isOnScreen() && !$( '#redux-footer-sticky' ).isOnScreen() ) { - $( '#redux-sticky' ).addClass( 'sticky-save-warn' ); - $( '#redux-footer' ).css( { position: 'fixed', bottom: '0', - width: stickyWidth + width: stickyWidth, + right: 21 } ); - $( '#redux-footer' ).addClass( 'sticky-footer-fixed' ); $( '.redux-save-warn' ).css( 'left', $( '#redux-sticky' ).offset().left ); $( '#redux-sticky-padder' ).show(); } else { - $( '#redux-sticky' ).removeClass( 'sticky-save-warn' ); - $( '#redux-footer' ).css( { background: '#eee', @@ -1016,10 +1231,14 @@ width: 'inherit' } ); - $( '#redux-sticky-padder' ).hide(); $( '#redux-footer' ).removeClass( 'sticky-footer-fixed' ); } + if ( !$( '#info_bar' ).isOnScreen() ) { + $( '#redux-sticky' ).addClass( 'sticky-save-warn' ); + } else { + $( '#redux-sticky' ).removeClass( 'sticky-save-warn' ); + } }; $.redux.expandOptions = function( parent ) { @@ -1241,25 +1460,27 @@ var confirmOnPageExit = function( e ) { }; function redux_change( variable ) { + jQuery( 'body' ).trigger( 'check_dependencies', variable ); if ( variable.hasClass( 'compiler' ) ) { jQuery( '#redux-compiler-hook' ).val( 1 ); } - window.onbeforeunload = confirmOnPageExit; - var rContainer = jQuery( variable ).parents( '.redux-container:first' ); + var parentID = jQuery( variable ).closest( '.redux-group-tab' ).attr( 'id' ); + // Let's count down the errors now. Fancy. ;) + var id = parentID.split( '_' ); + id = id[0]; + + var th = rContainer.find( '.redux-group-tab-link-a[data-key="' + id + '"]' ).parents( '.redux-group-tab-link-li:first' ); + var subParent = jQuery( '#' + parentID + '_li' ).parents( '.hasSubSections:first' ); if ( jQuery( variable ).parents( 'fieldset.redux-field:first' ).hasClass( 'redux-field-error' ) ) { jQuery( variable ).parents( 'fieldset.redux-field:first' ).removeClass( 'redux-field-error' ); jQuery( variable ).parent().find( '.redux-th-error' ).slideUp(); - var parentID = jQuery( variable ).closest( '.redux-group-tab' ).attr( 'id' ); - - var errorCount = (parseInt( rContainer.find( '.redux-field-errors span' ).text() ) - 1); - var warningCount = (parseInt( rContainer.find( '.redux-field-warnings span' ).text() ) - 1); if ( errorCount <= 0 ) { //console.log('HERE'); @@ -1270,11 +1491,6 @@ function redux_change( variable ) { jQuery( variable ).parents( '.redux-container:first' ).find( '.redux-field-errors' ).slideUp(); jQuery( '#redux_metaboxes_errors' ).slideUp(); } else { - // Let's count down the errors now. Fancy. ;) - var id = parentID.split( '_' ); - id = id[0]; - - var th = rContainer.find( '.redux-group-tab-link-a[data-key="' + id + '"]' ).parents( '.redux-group-tab-link-li:first' ); var errorsLeft = (parseInt( th.find( '.redux-menu-error:first' ).text() ) - 1); if ( errorsLeft <= 0 ) { @@ -1283,6 +1499,32 @@ function redux_change( variable ) { th.find( '.redux-menu-error:first' ).text( errorsLeft ); } + rContainer.find( '.redux-field-errors span' ).text( errorCount ); + } + + if ( subParent.length !== 0 ) { + if ( subParent.find( '.redux-menu-error' ).length === 0 ) { + subParent.find( '.hasError' ).removeClass( 'hasError' ); + } + } + } + if ( jQuery( variable ).parents( 'fieldset.redux-field:first' ).hasClass( 'redux-field-warning' ) ) { + jQuery( variable ).parents( 'fieldset.redux-field:first' ).removeClass( 'redux-field-warning' ); + jQuery( variable ).parent().find( '.redux-th-warning' ).slideUp(); + + var warningCount = (parseInt( rContainer.find( '.redux-field-warnings span' ).text() ) - 1); + + if ( warningCount <= 0 ) { + //console.log('HERE'); + jQuery( '#' + parentID + '_li .redux-menu-warning' ).fadeOut( 'fast' ).remove(); + jQuery( '#' + parentID + '_li .redux-group-tab-link-a' ).removeClass( 'hasWarning' ); + + jQuery( '#' + parentID + '_li' ).parents( '.inside:first' ).find( '.redux-field-warnings' ).slideUp(); + jQuery( variable ).parents( '.redux-container:first' ).find( '.redux-field-warnings' ).slideUp(); + jQuery( '#redux_metaboxes_warnings' ).slideUp(); + } else { + // Let's count down the warnings now. Fancy. ;) + var warningsLeft = (parseInt( th.find( '.redux-menu-warning:first' ).text() ) - 1); if ( warningsLeft <= 0 ) { th.find( '.redux-menu-warning:first' ).fadeOut().remove(); @@ -1290,19 +1532,22 @@ function redux_change( variable ) { th.find( '.redux-menu-warning:first' ).text( warningsLeft ); } - rContainer.find( '.redux-field-errors span' ).text( errorCount ); rContainer.find( '.redux-field-warning span' ).text( warningCount ); } - var subParent = jQuery( '#' + parentID + '_li' ).parents( '.hasSubSections:first' ); if ( subParent.length !== 0 ) { - if ( subParent.find( '.redux-menu-error' ).length === 0 ) { - subParent.find( '.hasError' ).removeClass( 'hasError' ); + if ( subParent.find( '.redux-menu-warning' ).length === 0 ) { + subParent.find( '.hasWarning' ).removeClass( 'hasWarning' ); } } } + // Don't show the changed value notice while save_notice is visible. + if ( rContainer.find( '.saved_notice:visible' ).length > 0 ) { + return; + } if ( !redux.args.disable_save_warn ) { rContainer.find( '.redux-save-warn' ).slideDown(); + window.onbeforeunload = confirmOnPageExit; } } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.min.js b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.min.js index 809449ec..71a345d7 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.min.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/redux.min.js @@ -1,3 +1,3 @@ -function redux_change(a){jQuery("body").trigger("check_dependencies",a),a.hasClass("compiler")&&jQuery("#redux-compiler-hook").val(1),window.onbeforeunload=confirmOnPageExit;var b=jQuery(a).parents(".redux-container:first");if(jQuery(a).parents("fieldset.redux-field:first").hasClass("redux-field-error")){jQuery(a).parents("fieldset.redux-field:first").removeClass("redux-field-error"),jQuery(a).parent().find(".redux-th-error").slideUp();var c=jQuery(a).closest(".redux-group-tab").attr("id"),d=parseInt(b.find(".redux-field-errors span").text())-1,e=parseInt(b.find(".redux-field-warnings span").text())-1;if(0>=d)jQuery("#"+c+"_li .redux-menu-error").fadeOut("fast").remove(),jQuery("#"+c+"_li .redux-group-tab-link-a").removeClass("hasError"),jQuery("#"+c+"_li").parents(".inside:first").find(".redux-field-errors").slideUp(),jQuery(a).parents(".redux-container:first").find(".redux-field-errors").slideUp(),jQuery("#redux_metaboxes_errors").slideUp();else{var f=c.split("_");f=f[0];var g=b.find('.redux-group-tab-link-a[data-key="'+f+'"]').parents(".redux-group-tab-link-li:first"),h=parseInt(g.find(".redux-menu-error:first").text())-1;0>=h?g.find(".redux-menu-error:first").fadeOut().remove():g.find(".redux-menu-error:first").text(h);var i=parseInt(g.find(".redux-menu-warning:first").text())-1;0>=i?g.find(".redux-menu-warning:first").fadeOut().remove():g.find(".redux-menu-warning:first").text(i),b.find(".redux-field-errors span").text(d),b.find(".redux-field-warning span").text(e)}var j=jQuery("#"+c+"_li").parents(".hasSubSections:first");0!==j.length&&0===j.find(".redux-menu-error").length&&j.find(".hasError").removeClass("hasError")}redux.args.disable_save_warn||b.find(".redux-save-warn").slideDown()}function colorValidate(a){var b=jQuery(a).val(),c=colorNameToHex(b);return c!==b.replace("#","")?c:b}function colorNameToHex(a){var b=a.replace(/^\s\s*/,"").replace(/\s\s*$/,"").replace("#",""),c={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c","indigo ":"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",redux:"#01a3e3",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return"undefined"!==c[b.toLowerCase()]?c[b.toLowerCase()]:a}!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(a){return a}function c(a){return decodeURIComponent(a.replace(e," "))}function d(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return f.json?JSON.parse(a):a}catch(b){}}var e=/\+/g,f=a.cookie=function(e,g,h){if(void 0!==g){if(h=a.extend({},f.defaults,h),"number"==typeof h.expires){var i=h.expires,j=h.expires=new Date;j.setDate(j.getDate()+i)}return g=f.json?JSON.stringify(g):String(g),document.cookie=[f.raw?e:encodeURIComponent(e),"=",f.raw?g:encodeURIComponent(g),h.expires?"; expires="+h.expires.toUTCString():"",h.path?"; path="+h.path:"",h.domain?"; domain="+h.domain:"",h.secure?"; secure":""].join("")}for(var k=f.raw?b:c,l=document.cookie.split("; "),m=e?void 0:{},n=0,o=l.length;o>n;n++){var p=l[n].split("="),q=k(p.shift()),r=k(p.join("="));if(e&&e===q){m=d(r);break}e||(m[q]=d(r))}return m};f.defaults={},a.removeCookie=function(b,c){return void 0!==a.cookie(b)?(a.cookie(b,"",a.extend({},c,{expires:-1})),!0):!1}}),"undefined"==typeof jQuery.qtip&&!function(a,b,c){!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){"use strict";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=G,this.elements={target:a},this._id=T+"-"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:F,attr:e,onTooltip:F,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=F}function f(a){return a===G||"object"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||"object"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?F:(f(a.metadata)&&(a.metadata={type:a.metadata}),"content"in a&&(b=a.content,f(b)||b.jquery||b.done?b=a.content={text:c=g(b)?F:b}:c=b.text,"ajax"in b&&(e=b.ajax,h=e&&e.once!==F,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||"Loading...",g=d.ajax(d.extend({},e,{context:b})).then(e.success,G,e.error).then(function(a){return a&&h&&b.set("content.text",a),a},function(a,c,d){b.destroyed||0===a.status||b.set("content.text",c+": "+d)});return h?f:(b.set("content.text",f),g)}),"title"in b&&(f(b.title)||(b.button=b.title.button,b.title=b.title.text),g(b.title||F)&&(b.title=F))),"position"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===E?{ready:E}:{event:a.show}),"hide"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(S,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(".");e=e[f[d++]];)d0?setTimeout(d.proxy(a,this),b):void a.call(this)}function n(a){return this.tooltip.hasClass(bb)?F:(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),void(this.timers.show=m.call(this,function(){this.toggle(E,a)},this.options.show.delay)))}function o(a){if(this.tooltip.hasClass(bb))return F;var b=d(a.relatedTarget),c=b.closest(X)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&"mouse"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=m.call(this,function(){this.toggle(F,a)},this.options.hide.delay,this)}function p(a){return this.tooltip.hasClass(bb)||!this.options.hide.inactive?F:(clearTimeout(this.timers.inactive),void(this.timers.inactive=m.call(this,function(){this.hide(a)},this.options.hide.inactive)))}function q(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function r(a,c,e){d(b.body).delegate(a,(c.split?c:c.join(ib+" "))+ib,function(){var a=z.api[d.attr(this,V)];a&&!a.disabled&&e.apply(a,arguments)})}function s(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):G,p="html5"===f.metadata.type&&o?o[f.metadata.name]:G,q=a.data(f.metadata.name||"qtipopts");try{q="string"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(E,{},z.defaults,f,"object"==typeof q?h(q):G,h(p||o)),i=k.position,k.id=c,"boolean"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===F||!j)return F;k.content.text=j}if(i.container.length||(i.container=m),i.target===F&&(i.target=n),k.show.target===F&&(k.show.target=n),k.show.solo===E&&(k.show.solo=i.container.closest("body")),k.hide.target===F&&(k.hide.target=n),k.position.viewport===E&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new B(i.at,E),i.my=new B(i.my),a.data(T))if(k.overwrite)a.qtip("destroy",!0);else if(k.overwrite===F)return F;return a.attr(U,c),k.suppress&&(l=a.attr("title"))&&a.removeAttr("title").attr(db,l).attr("title",""),g=new e(a,k,c,!!j),a.data(T,g),a.one("remove.qtip-"+c+" removeqtip.qtip-"+c,function(){var a;(a=d(this).data(T))&&a.destroy(!0)}),g}function t(a){return a.charAt(0).toUpperCase()+a.slice(1)}function u(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+" "+tb.join(f+" ")+f).split(" "),h=0;if(sb[b])return a.css(sb[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return sb[b]=d,e}function v(a,b){return Math.ceil(parseFloat(u(a,b)))}function w(a,b){this._ns="tip",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.init(this.qtip=a)}function x(a,b){this.options=b,this._ns="-modal",this.init(this.qtip=a)}function y(a){this._ns="ie6",this.init(this.qtip=a)}var z,A,B,C,D,E=!0,F=!1,G=null,H="x",I="y",J="width",K="height",L="top",M="left",N="bottom",O="right",P="center",Q="flipinvert",R="shift",S={},T="qtip",U="data-hasqtip",V="data-qtip-id",W=["ui-widget","ui-tooltip"],X="."+T,Y="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),Z=T+"-fixed",$=T+"-default",_=T+"-focus",ab=T+"-hover",bb=T+"-disabled",cb="_replacedByqTip",db="oldtitle",eb={ie:function(){for(var a=3,c=b.createElement("div");(c.innerHTML="")&&c.getElementsByTagName("i")[0];);return a>4?a:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||F};A=e.prototype,A._when=function(a){return d.when.apply(d,a)},A.render=function(a){if(this.rendered||this.destroyed)return this;var b,c=this,e=this.options,f=this.cache,g=this.elements,h=e.content.text,i=e.content.title,j=e.content.button,k=e.position,l=("."+this._id+" ",[]);return d.attr(this.target[0],"aria-describedby",this._id),this.tooltip=g.tooltip=b=d("
",{id:this._id,"class":[T,$,e.style.classes,T+"-pos-"+e.position.my.abbrev()].join(" "),width:e.style.width||"",height:e.style.height||"",tracking:"mouse"===k.target&&k.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":F,"aria-describedby":this._id+"-content","aria-hidden":E}).toggleClass(bb,this.disabled).attr(V,this.id).data(T,this).appendTo(k.container).append(g.content=d("
",{"class":T+"-content",id:this._id+"-content","aria-atomic":E})),this.rendered=-1,this.positioning=E,i&&(this._createTitle(),d.isFunction(i)||l.push(this._updateTitle(i,F))),j&&this._createButton(),d.isFunction(h)||l.push(this._updateContent(h,F)),this.rendered=E,this._setWidget(),d.each(S,function(a){var b;"render"===this.initialize&&(b=this(c))&&(c.plugins[a]=b)}),this._unassignEvents(),this._assignEvents(),this._when(l).then(function(){c._trigger("render"),c.positioning=F,c.hiddenDuringWait||!e.show.ready&&!a||c.toggle(E,f.event,F),c.hiddenDuringWait=F}),z.api[this.id]=this,this},A.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=E;var a=this.target,b=a.attr(db);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()}),clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this._unassignEvents(),a.removeData(T).removeAttr(V).removeAttr(U).removeAttr("aria-describedby"),this.options.suppress&&b&&a.attr("title",b).removeAttr(db),this._unbind(a),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=G,delete z.api[this.id]}}return this.destroyed?this.target:(a===E&&"hide"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one("tooltiphidden",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},C=A.checks={builtin:{"^id$":function(a,b,c,e){var f=c===E?z.nextid:c,g=T+"-"+f;f!==F&&f.length>0&&!d("#"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):a[b]=e},"^prerender":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(a,b,c){this._updateContent(c)},"^content.attr$":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},"^content.title$":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},"^content.button$":function(a,b,c){this._updateButton(c)},"^content.title.(text|button)$":function(a,b,c){this.set("content."+b,c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(a[b]=new B(c,"at"===b))},"^position.container$":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},"^show.ready$":function(a,b,c){c&&(!this.rendered&&this.render(E)||this.toggle(E))},"^style.classes$":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},"^style.(width|height)":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(a,b,c){this.rendered&&this.tooltip.toggleClass($,!!c)},"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr("tracking","mouse"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},A.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var fb=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,gb=/^prerender|show\.ready/i;A.set=function(a,b){if(this.destroyed)return this;{var c,e=this.rendered,f=F,g=this.options;this.checks}return"string"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&gb.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=fb.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=E,d.each(a,d.proxy(j,this)),this.positioning=F,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition("mouse"===g.position.target?G:this.cache.event),this},A._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||""),d.isFunction(a.then)?(e.waiting=E,a.then(function(a){return e.waiting=F,c._update(a,b)},G,function(a){return c._update(a,b)})):a===F||!a&&""!==a?F:(a.jquery&&a.length>0?b.empty().append(a.css({display:"block",visibility:"visible"})):b.html(a),this._waitForContent(b).then(function(a){a.images&&a.images.length&&c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):F},A._waitForContent=function(a){var b=this.cache;return b.waiting=E,(d.fn.imagesLoaded?a.imagesLoaded():d.Deferred().resolve([])).done(function(){b.waiting=F}).promise()},A._updateContent=function(a,b){this._update(a,this.elements.content,b)},A._updateTitle=function(a,b){this._update(a,this.elements.title,b)===F&&this._removeTitle(F)},A._createTitle=function(){var a=this.elements,b=this._id+"-title";a.titlebar&&this._removeTitle(),a.titlebar=d("
",{"class":T+"-titlebar "+(this.options.style.widget?k("header"):"")}).append(a.title=d("
",{id:b,"class":T+"-title","aria-atomic":E})).insertBefore(a.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus","down"===a.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover","mouseover"===a.type)}),this.options.content.button&&this._createButton()},A._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=G,a!==F&&this.reposition())},A.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=E;var f,g,h=this.cache,i=this.tooltip,j=this.options.position,k=j.target,l=j.my,m=j.at,n=j.viewport,o=j.container,p=j.adjust,q=p.method.split(" "),r=i.outerWidth(F),s=i.outerHeight(F),t=0,u=0,v=i.css("position"),w={left:0,top:0},x=i[0].offsetWidth>0,y=c&&"scroll"===c.type,z=d(a),A=o[0].ownerDocument,B=this.mouse;if(d.isArray(k)&&2===k.length)m={x:M,y:L},w={left:k[0],top:k[1]};else if("mouse"===k)m={x:M,y:L},!B||!B.pageX||!p.mouse&&c&&c.pageX?c&&c.pageX||((!p.mouse||this.options.show.distance)&&h.origin&&h.origin.pageX?c=h.origin:(!c||c&&("resize"===c.type||"scroll"===c.type))&&(c=h.event)):c=B,"static"!==v&&(w=o.offset()),A.body.offsetWidth!==(a.innerWidth||A.documentElement.clientWidth)&&(g=d(b.body).offset()),w={left:c.pageX-w.left+(g&&g.left||0),top:c.pageY-w.top+(g&&g.top||0)},p.mouse&&y&&B&&(w.left-=(B.scrollX||0)-z.scrollLeft(),w.top-=(B.scrollY||0)-z.scrollTop());else{if("event"===k?c&&c.target&&"scroll"!==c.type&&"resize"!==c.type?h.target=d(c.target):c.target||(h.target=this.elements.target):"event"!==k&&(h.target=d(k.jquery?k:this.elements.target)),k=h.target,k=d(k).eq(0),0===k.length)return this;k[0]===b||k[0]===a?(t=eb.iOS?a.innerWidth:k.width(),u=eb.iOS?a.innerHeight:k.height(),k[0]===a&&(w={top:(n||k).scrollTop(),left:(n||k).scrollLeft()})):S.imagemap&&k.is("area")?f=S.imagemap(this,k,m,S.viewport?q:F):S.svg&&k&&k[0].ownerSVGElement?f=S.svg(this,k,m,S.viewport?q:F):(t=k.outerWidth(F),u=k.outerHeight(F),w=k.offset()),f&&(t=f.width,u=f.height,g=f.offset,w=f.position),w=this.reposition.offset(k,w,o),(eb.iOS>3.1&&eb.iOS<4.1||eb.iOS>=4.3&&eb.iOS<4.33||!eb.iOS&&"fixed"===v)&&(w.left-=z.scrollLeft(),w.top-=z.scrollTop()),(!f||f&&f.adjustable!==F)&&(w.left+=m.x===O?t:m.x===P?t/2:0,w.top+=m.y===N?u:m.y===P?u/2:0)}return w.left+=p.x+(l.x===O?-r:l.x===P?-r/2:0),w.top+=p.y+(l.y===N?-s:l.y===P?-s/2:0),S.viewport?(w.adjusted=S.viewport(this,w,j,t,u,r,s),g&&w.adjusted.left&&(w.left+=g.left),g&&w.adjusted.top&&(w.top+=g.top)):w.adjusted={left:0,top:0},this._trigger("move",[w,n.elem||n],c)?(delete w.adjusted,e===F||!x||isNaN(w.left)||isNaN(w.top)||"mouse"===k||!d.isFunction(j.effect)?i.css(w):d.isFunction(j.effect)&&(j.effect.call(i,this,d.extend({},w)),i.queue(function(a){d(this).css({opacity:"",height:""}),eb.ie&&this.style.removeAttribute("filter"),a()})),this.positioning=F,this):this},A.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!eb.ie&&"CSS1Compat"!==b.compatMode,m=e[0];do"static"!==(h=d.css(m,"position"))&&("fixed"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,"borderLeftWidth"))||0,i.top+=parseFloat(d.css(m,"borderTopWidth"))||0),c.left-=i.left+(parseFloat(d.css(m,"marginLeft"))||0),c.top-=i.top+(parseFloat(d.css(m,"marginTop"))||0),g||"hidden"===(j=d.css(m,"overflow"))||"visible"===j||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var hb=(B=A.reposition.Corner=function(a,b){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,P).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance="t"===c||"b"===c?I:H}).prototype;hb.invert=function(a,b){this[a]=this[a]===M?O:this[a]===O?M:b||this[a]},hb.string=function(){var a=this.x,b=this.y;return a===b?a:this.precedance===I||this.forceY&&"center"!==b?b+" "+a:a+" "+b},hb.abbrev=function(){var a=this.string().split(" ");return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||"")},hb.clone=function(){return new B(this.string(),this.forceY)},A.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=l(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=E),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?"show":"hide",m=this.options[k],n=(this.options[a?"hide":"show"],this.options.position),o=this.options.content,p=this.tooltip.css("width"),q=this.tooltip.is(":visible"),r=a||1===m.target.length,s=!c||m.target.length<2||e.target[0]===c.target;return(typeof a).search("boolean|number")&&(a=!q),h=!g.is(":animated")&&q===a&&s,i=h?G:!!this._trigger(k,[90]),this.destroyed?this:(i!==F&&a&&this.focus(c),!i||h?this:(d.attr(g[0],"aria-hidden",!a),a?(e.origin=l(this.mouse),d.isFunction(o.text)&&this._updateContent(o.text,F),d.isFunction(o.title)&&this._updateTitle(o.title,F),!D&&"mouse"===n.target&&n.adjust.mouse&&(d(b).bind("mousemove."+T,this._storeMouse),D=E),p||g.css("width",g.outerWidth(F)),this.reposition(c,arguments[2]),p||g.css("width",""),m.solo&&("string"==typeof m.solo?d(m.solo):d(X,m.solo)).not(g).not(m.target).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete e.origin,D&&!d(X+'[tracking="true"]:visible',m.solo).not(g).length&&(d(b).unbind("mousemove."+T),D=F),this.blur(c)),j=d.proxy(function(){a?(eb.ie&&g[0].style.removeAttribute("filter"),g.css("overflow",""),"string"==typeof m.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):g.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(a?"visible":"hidden")},this),m.effect===F||r===F?(g[k](),j()):d.isFunction(m.effect)?(g.stop(1,1),m.effect.call(g,this),g.queue("fx",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&m.target.trigger("qtip-"+this.id+"-inactive"),this))},A.show=function(a){return this.toggle(E,a)},A.hide=function(a){return this.toggle(F,a)},A.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(X),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=z.zindex+b.length;return c.hasClass(_)||this._trigger("focus",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+_).qtip("blur",a)),c.addClass(_)[0].style.zIndex=f),this},A.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass(_),this._trigger("blur",[this.tooltip.css("zIndex")],a),this)},A.disable=function(a){return this.destroyed?this:("toggle"===a?a=!(this.rendered?this.tooltip.hasClass(bb):this.disabled):"boolean"!=typeof a&&(a=E),this.rendered&&this.tooltip.toggleClass(bb,a).attr("aria-disabled",a),this.disabled=!!a,this)},A.enable=function(){return this.disable(F)},A._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f="string"==typeof e,g=f?e:"Close tooltip";b.button&&b.button.remove(),b.button=e.jquery?e:d("",{"class":"qtip-close "+(this.options.style.widget?"":T+"-icon"),title:g,"aria-label":g}).prepend(d("",{"class":"ui-icon ui-icon-close",html:"×"})),b.button.appendTo(b.titlebar||c).attr("role","button").click(function(b){return c.hasClass(bb)||a.hide(b),F})},A._updateButton=function(a){if(!this.rendered)return F;var b=this.elements.button;a?this._createButton():b.remove()},A._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(bb);c.removeClass(bb),bb=a?"ui-state-disabled":"qtip-disabled",c.toggleClass(bb,d),c.toggleClass("ui-helper-reset "+k(),a).toggleClass($,this.options.style.def&&!a),b.content&&b.content.toggleClass(k("content"),a),b.titlebar&&b.titlebar.toggleClass(k("header"),a),b.button&&b.button.toggleClass(T+"-icon",!a)},A._storeMouse=function(a){(this.mouse=l(a)).type="mousemove"},A._bind=function(a,b,c,e,f){var g="."+this._id+(e?"-"+e:"");b.length&&d(a).bind((b.split?b:b.join(g+" "))+g,d.proxy(c,f||this))},A._unbind=function(a,b){d(a).unbind("."+this._id+(b?"-"+b:""))};var ib="."+T;d(function(){r(X,["mouseenter","mouseleave"],function(a){var b="mouseenter"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(Z)&&!c.hasClass(bb)&&clearTimeout(this.timers.hide)):"mouse"===f.position.target&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(ab,b)}),r("["+V+"]",Y,p)}),A._trigger=function(a,b,c){var e=d.Event("tooltip"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||G,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=F,!e.isDefaultPrevented()},A._bindEvents=function(a,b,c,e,f,g){if(e.add(c).length===e.length){var h=[];b=d.map(b,function(b){var c=d.inArray(b,a);return c>-1?void h.push(a.splice(c,1)[0]):b}),h.length&&this._bind(c,h,function(a){var b=this.rendered?this.tooltip[0].offsetWidth>0:!1;(b?g:f).call(this,a)})}this._bind(c,a,f),this._bind(e,b,g)},A._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?F:(this.cache.event=l(a),this.cache.target=a?d(a.target):[c],clearTimeout(this.timers.show),void(this.timers.show=m.call(this,function(){this.render("object"==typeof a||e.show.ready)},e.show.delay)))}var e=this.options,f=e.show.target,g=e.hide.target,h=e.show.event?d.trim(""+e.show.event).split(" "):[],i=e.hide.event?d.trim(""+e.hide.event).split(" "):[];/mouse(over|enter)/i.test(e.show.event)&&!/mouse(out|leave)/i.test(e.hide.event)&&i.push("mouseleave"),this._bind(f,"mousemove",function(a){this._storeMouse(a),this.cache.onTarget=E}),this._bindEvents(h,i,f,g,b,function(){clearTimeout(this.timers.show)}),(e.show.ready||e.prerender)&&b.call(this,a)},A._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),m=(d(b.body),d(a)),r=e.show.event?d.trim(""+e.show.event).split(" "):[],s=e.hide.event?d.trim(""+e.hide.event).split(" "):[];d.each(e.events,function(a,b){c._bind(g,"toggle"===a?["tooltipshow","tooltiphide"]:["tooltip"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&"window"===e.hide.leave&&this._bind(l,["mouseout","blur"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(Z)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+e.hide.event).indexOf("unfocus")>-1&&this._bind(j.closest("html"),["mousedown","touchstart"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(bb)&&this.tooltip[0].offsetWidth>0,e=b.parents(X).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),"number"==typeof e.hide.inactive&&(this._bind(h,"qtip-"+this.id+"-inactive",p),this._bind(i.add(g),z.inactiveEvents,p,"-inactive")),this._bindEvents(r,s,h,i,n,o),this._bind(h.add(g),"mousemove",function(a){if("number"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),"mouse"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,["mouseenter","mouseleave"],function(a){this.cache.onTarget="mouseenter"===a.type}),this._bind(l,"mousemove",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(bb)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:m,"resize",q),f.adjust.scroll&&this._bind(m.add(f.container),"scroll",q)},A._unassignEvents=function(){var c=[this.options.show.target[0],this.options.hide.target[0],this.rendered&&this.tooltip[0],this.options.position.container[0],this.options.position.viewport[0],this.options.position.container.closest("html")[0],a,b];this._unbind(d([]).pushStack(d.grep(c,function(a){return"object"==typeof a})))},z=d.fn.qtip=function(a,b,e){var f=(""+a).toLowerCase(),g=G,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],T):G;return!arguments.length&&k||"api"===f?k:"string"==typeof a?(this.each(function(){var a=d.data(this,T);if(!a)return E;if(j&&j.timeStamp&&(a.cache.event=j),!b||"option"!==f&&"options"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),F;a.set(b,e)}}),g!==G?g:this):"object"!=typeof a&&arguments.length?void 0:(k=h(d.extend(E,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===F||c.length<1||z.api[c]?z.nextid++:c,b=s(d(this),c,k),b===F?E:(z.api[c]=b,d.each(S,function(){"initialize"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,z.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,db):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(db,b))}return d.fn["attr"+cb].apply(this,arguments)},clone:function(a){var b=(d([]),d.fn["clone"+cb].apply(this,arguments));return a||b.filter("["+db+"]").attr("title",function(){return d.attr(this,db)}).removeAttr(db),b}},function(a,b){if(!b||d.fn[a+cb])return E;var c=d.fn[a+cb]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+cb]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(U))try{b.triggerHandler("removeqtip")}catch(e){}d["cleanData"+cb].apply(this,arguments)}),z.version="2.2.0",z.nextid=0,z.inactiveEvents=Y,z.zindex=15e3,z.defaults={prerender:F,id:F,overwrite:E,suppress:E,content:{text:E,attr:"title",title:F,button:F},position:{my:"top left",at:"bottom right",target:F,container:F,viewport:F,adjust:{x:0,y:0,mouse:E,scroll:E,resize:E,method:"flipinvert flipinvert"},effect:function(a,b){d(this).animate(b,{duration:200,queue:F})}},show:{target:F,event:"mouseenter",effect:E,delay:90,solo:F,ready:F,autofocus:F},hide:{target:F,event:"mouseleave",effect:E,delay:0,fixed:F,inactive:F,leave:"window",distance:F},style:{classes:"",widget:F,width:F,height:F,def:E},events:{render:G,move:G,show:G,hide:G,toggle:G,visible:G,hidden:G,focus:G,blur:G}}; -var jb,kb="margin",lb="border",mb="color",nb="background-color",ob="transparent",pb=" !important",qb=!!b.createElement("canvas").getContext,rb=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,sb={},tb=["Webkit","O","Moz","ms"];if(qb)var ub=a.devicePixelRatio||1,vb=function(){var a=b.createElement("canvas").getContext("2d");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),wb=ub/vb;else var xb=function(a,b,c){return"'};d.extend(w.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d("
",{"class":T+"-tip"}).prependTo(a.tooltip),qb?(b=d("").appendTo(this.element)[0].getContext("2d"),b.lineJoin="miter",b.miterLimit=1e5,b.save()):(b=xb("shape",'coordorigin="0,0"',"position:absolute;"),this.element.html(b+b),a._bind(d("*",c).add(c),["click","mousedown"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,"tooltipmove",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===L||a.y===P&&this.element.position().top+this.size[1]/2+this.options.offsetl&&!rb.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==E?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+"px"}),j=b.precedance===I?[s(r.x===M?l:r.x===O?k[0]-q[0]-l:(k[0]-q[0])/2),s(r.y===L?k[1]-q[1]:0)]:[s(r.x===M?k[0]-q[0]:0),s(r.y===L?l:r.y===N?k[1]-q[1]-l:(k[1]-q[1])/2)],qb?(g=o[0].getContext("2d"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,wb),i=this._calculateTip(r,this.size,wb),o.attr(J,k[0]*wb).attr(K,k[1]*wb),o.css(J,k[0]).css(K,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*wb,j[1]*wb),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h="m"+h[0]+","+h[1]+" l"+h[2]+","+h[3]+" "+h[4]+","+h[5]+" xe",j[2]=l&&/^(r|b)/i.test(b.string())?8===eb.ie?2:1:0,o.css({coordsize:k[0]+l+" "+(k[1]+l),antialias:""+(r.string().indexOf(P)>-1),left:j[0]-j[2]*Number(f===H),top:j[1]-j[2]*Number(f===I),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?"prop":"attr"]({coordsize:k[0]+l+" "+(k[1]+l),path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(xb("stroke",'weight="'+2*l+'px" color="'+e[1]+'" miterlimit="1000" joinstyle="miter"'))})),a.opera&&setTimeout(function(){m.tip.css({display:"inline-block",visibility:"visible"})},1),c!==F&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return F;var c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j=(g.tooltip.hasClass("ui-widget"),{});return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===H&&e.reverse(),d.each(e,function(d,e){var h,k,l;e===P?(h=c===I?M:L,j[h]="50%",j[kb+"-"+h]=-Math.round(b[c===I?0:1]/2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))}),j[a[c]]-=b[c===H?0:1],h.css({margin:"",top:"",bottom:"",left:"",right:""}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===R&&j.precedance===b&&k[d]&&j[c]!==P?j.precedance=j.precedance===H?I:H:a!==R&&k[d]&&(j[b]=j[b]===P?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===P?p[kb+"-"+b]=o[a]=g[kb+"-"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=F),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(" "),m=l[0],n=l[1]||l[0],o={left:F,top:F,x:0,y:0},p={};this.corner.fixed!==E&&(e(m,H,I,M,O),e(n,I,H,L,N),j.string()===i.corner.string()||i.cornerTop===k.top&&i.cornerLeft===k.left||this.update(j,F)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,(o.left=m===R&&!!k.left)&&f(H,M,O),(o.top=n===R&&!!k.top)&&f(I,L,N),this.element.css(p).toggle(!(o.x&&o.y||j.x===P&&o.y||j.y===P&&o.x)),d.left-=g.left.charAt?g.user:m!==R||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==R||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),jb=S.tip=function(a){return new w(a,a.options.style.tip)},jb.initialize="render",jb.sanitize=function(a){if(a.style&&"tip"in a.style){var b=a.style.tip;"object"!=typeof b&&(b=a.style.tip={corner:b}),/string|boolean/i.test(typeof b.corner)||(b.corner=E)}},C.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},d.extend(E,z.defaults,{style:{tip:{corner:E,mimic:F,width:6,height:6,border:E,offset:0}}});var yb,zb,Ab="qtip-modal",Bb="."+Ab;zb=function(){function a(a){if(d.expr[":"].focusable)return d.expr[":"].focusable;var b,c,e,f=!isNaN(d.attr(a,"tabindex")),g=a.nodeName&&a.nodeName.toLowerCase();return"area"===g?(b=a.parentNode,c=b.name,a.href&&c&&"map"===b.nodeName.toLowerCase()?(e=d("img[usemap=#"+c+"]")[0],!!e&&e.is(":visible")):!1):/input|select|textarea|button|object/.test(g)?!a.disabled:"a"===g?a.href||f:f}function c(a){k.length<1&&a.length?a.not("body").blur():k.first().focus()}function e(a){if(i.is(":visible")){var b,e=d(a.target),h=f.tooltip,j=e.closest(X);b=j.length<1?F:parseInt(j[0].style.zIndex,10)>parseInt(h[0].style.zIndex,10),b||e.closest(X)[0]===h[0]||c(e),g=a.target===k[k.length-1]}}var f,g,h,i,j=this,k={};d.extend(j,{init:function(){return i=j.elem=d("
",{id:"qtip-overlay",html:"
",mousedown:function(){return F}}).hide(),d(b.body).bind("focusin"+Bb,e),d(b).bind("keydown"+Bb,function(a){f&&f.options.show.modal.escape&&27===a.keyCode&&f.hide(a)}),i.bind("click"+Bb,function(a){f&&f.options.show.modal.blur&&f.hide(a)}),j},update:function(b){f=b,k=b.options.show.modal.stealfocus!==F?b.tooltip.find("*").filter(function(){return a(this)}):[]},toggle:function(a,e,g){var k=(d(b.body),a.tooltip),l=a.options.show.modal,m=l.effect,n=e?"show":"hide",o=i.is(":visible"),p=d(Bb).filter(":visible:not(:animated)").not(k);return j.update(a),e&&l.stealfocus!==F&&c(d(":focus")),i.toggleClass("blurs",l.blur),e&&i.appendTo(b.body),i.is(":animated")&&o===e&&h!==F||!e&&p.length?j:(i.stop(E,F),d.isFunction(m)?m.call(i,e):m===F?i[n]():i.fadeTo(parseInt(g,10)||90,e?1:0,function(){e||i.hide()}),e||i.queue(function(a){i.css({left:"",top:""}),d(Bb).length||i.detach(),a()}),h=e,f.destroyed&&(f=G),j)}}),j.init()},zb=new zb,d.extend(x.prototype,{init:function(a){var b=a.tooltip;return this.options.on?(a.elements.overlay=zb.elem,b.addClass(Ab).css("z-index",z.modal_zindex+d(Bb).length),a._bind(b,["tooltipshow","tooltiphide"],function(a,c,e){var f=a.originalEvent;if(a.target===b[0])if(f&&"tooltiphide"===a.type&&/mouse(leave|enter)/.test(f.type)&&d(f.relatedTarget).closest(zb.elem[0]).length)try{a.preventDefault()}catch(g){}else(!f||f&&"tooltipsolo"!==f.type)&&this.toggle(a,"tooltipshow"===a.type,e)},this._ns,this),a._bind(b,"tooltipfocus",function(a,c){if(!a.isDefaultPrevented()&&a.target===b[0]){var e=d(Bb),f=z.modal_zindex+e.length,g=parseInt(b[0].style.zIndex,10);zb.elem[0].style.zIndex=f-1,e.each(function(){this.style.zIndex>g&&(this.style.zIndex-=1)}),e.filter("."+_).qtip("blur",a.originalEvent),b.addClass(_)[0].style.zIndex=f,zb.update(c);try{a.preventDefault()}catch(h){}}},this._ns,this),void a._bind(b,"tooltiphide",function(a){a.target===b[0]&&d(Bb).filter(":visible").not(b).last().qtip("focus",a)},this._ns,this)):this},toggle:function(a,b,c){return a&&a.isDefaultPrevented()?this:void zb.toggle(this.qtip,!!b,c)},destroy:function(){this.qtip.tooltip.removeClass(Ab),this.qtip._unbind(this.qtip.tooltip,this._ns),zb.toggle(this.qtip,F),delete this.qtip.elements.overlay}}),yb=S.modal=function(a){return new x(a,a.options.show.modal)},yb.sanitize=function(a){a.show&&("object"!=typeof a.show.modal?a.show.modal={on:!!a.show.modal}:"undefined"==typeof a.show.modal.on&&(a.show.modal.on=E))},z.modal_zindex=z.zindex-200,yb.initialize="render",C.modal={"^show.modal.(on|blur)$":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},d.extend(E,z.defaults,{show:{modal:{on:F,effect:E,blur:E,stealfocus:E,escape:E}}}),S.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],m=v[a],t=w[a],u=c===R,x=m===f?j:m===g?-j:-j/2,y=t===f?i:t===g?-i:-i/2,z=r[f]+s[f]-(o?0:n[f]),A=z-k,B=k+j-(h===J?p:q)-z,C=x-(v.precedance===a||m===v[b]?y:0)-(t===P?i/2:0);return u?(C=(m===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-n[f]+s[f],k-C,Math.min(Math.max(-n[f]+s[f]+(h===J?p:q),k+C),d[f],"center"===m?k-x:1e9))):(e*=c===Q?2:0,A>0&&(m!==f||B>0)?(d[f]-=C+e,l.invert(a,f)):B>0&&(m!==g||A>0)&&(d[f]-=(m===P?-C:C)+e,l.invert(a,g)),d[f]B&&(d[f]=k,l=v.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s,t=e.target,u=c.elements.tooltip,v=e.my,w=e.at,x=e.adjust,y=x.method.split(" "),z=y[0],A=y[1]||y[0],B=e.viewport,C=e.container,D=c.cache,E={left:0,top:0};return B.jquery&&t[0]!==a&&t[0]!==b.body&&"none"!==x.method?(n=C.offset()||E,o="static"===C.css("position"),k="fixed"===u.css("position"),p=B[0]===a?B.width():B.outerWidth(F),q=B[0]===a?B.height():B.outerHeight(F),r={left:k?0:B.scrollLeft(),top:k?0:B.scrollTop()},s=B.offset()||E,("shift"!==z||"shift"!==A)&&(l=v.clone()),E={left:"none"!==z?j(H,I,z,x.x,M,O,J,f,h):0,top:"none"!==A?j(I,H,A,x.y,L,N,K,g,i):0},l&&D.lastClass!==(m=T+"-pos-"+l.abbrev())&&u.removeClass(c.cache.lastClass).addClass(c.cache.lastClass=m),E):E},S.polys={polygon:function(a,b){var c,d,e,f={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:F},g=0,h=[],i=1,j=1,k=0,l=0;for(g=a.length;g--;)c=[parseInt(a[--g],10),parseInt(a[g+1],10)],c[0]>f.position.right&&(f.position.right=c[0]),c[0]f.position.bottom&&(f.position.bottom=c[1]),c[1]0&&e>0&&i>0&&j>0;)for(d=Math.floor(d/2),e=Math.floor(e/2),b.x===M?i=d:b.x===O?i=f.width-d:i+=Math.floor(d/2),b.y===L?j=e:b.y===N?j=f.height-e:j+=Math.floor(e/2),g=h.length;g--&&!(h.length<2);)k=h[g][0]-f.position.left,l=h[g][1]-f.position.top,(b.x===M&&k>=i||b.x===O&&i>=k||b.x===P&&(i>k||k>f.width-i)||b.y===L&&l>=j||b.y===N&&j>=l||b.y===P&&(j>l||l>f.height-j))&&h.splice(g,1);f.position={left:h[0][0],top:h[0][1]}}return f},rect:function(a,b,c,d){return{width:Math.abs(c-a),height:Math.abs(d-b),position:{left:Math.min(a,c),top:Math.min(b,d)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(a,b,c,d,e){var f=S.polys._angles[e.abbrev()],g=0===f?0:c*Math.cos(f*Math.PI),h=d*Math.sin(f*Math.PI);return{width:2*c-Math.abs(g),height:2*d-Math.abs(h),position:{left:a+g,top:b+h},adjustable:F}},circle:function(a,b,c,d){return S.polys.ellipse(a,b,c,c,d)}},S.svg=function(a,c,e){for(var f,g,h,i,j,k,l,m,n,o,p,q=d(b),r=c[0],s=d(r.ownerSVGElement),t=1,u=1,v=!0;!r.getBBox;)r=r.parentNode;if(!r.getBBox||!r.parentNode)return F;f=s.attr("width")||s.width()||parseInt(s.css("width"),10),g=s.attr("height")||s.height()||parseInt(s.css("height"),10);var w=(parseInt(c.css("stroke-width"),10)||0)/2;switch(w&&(t+=w/f,u+=w/g),r.nodeName){case"ellipse":case"circle":o=S.polys.ellipse(r.cx.baseVal.value,r.cy.baseVal.value,(r.rx||r.r).baseVal.value+w,(r.ry||r.r).baseVal.value+w,e);break;case"line":case"polygon":case"polyline":for(n=r.points||[{x:r.x1.baseVal.value,y:r.y1.baseVal.value},{x:r.x2.baseVal.value,y:r.y2.baseVal.value}],o=[],m=-1,k=n.numberOfItems||n.length;++m';d.extend(y.prototype,{_scroll:function(){var b=this.qtip.elements.overlay;b&&(b[0].style.top=d(a).scrollTop()+"px")},init:function(c){var e=c.tooltip;d("select, object").length<1&&(this.bgiframe=c.elements.bgiframe=d(Db).appendTo(e),c._bind(e,"tooltipmove",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=d("
",{id:T+"-rcontainer"}).appendTo(b.body),c.elements.overlay&&c.elements.overlay.addClass("qtipmodal-ie6fix")&&(c._bind(a,["scroll","resize"],this._scroll,this._ns,this),c._bind(e,["tooltipshow"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var a,b,c=this.qtip.tooltip,d={height:c.outerHeight(F),width:c.outerWidth(F)},e=this.qtip.plugins.tip,f=this.qtip.elements.tip;b=parseInt(c.css("borderLeftWidth"),10)||0,b={left:-b,top:-b},e&&f&&(a="x"===e.corner.precedance?[J,M]:[K,L],b[a[1]]-=f[a[0]]()),this.bgiframe.css(b).css(d)},redraw:function(){if(this.qtip.rendered<1||this.drawing)return this;var a,b,c,d,e=this.qtip.tooltip,f=this.qtip.options.style,g=this.qtip.options.position.container;return this.qtip.drawing=1,f.height&&e.css(K,f.height),f.width?e.css(J,f.width):(e.css(J,"").appendTo(this.redrawContainer),b=e.width(),1>b%2&&(b+=1),c=e.css("maxWidth")||"",d=e.css("minWidth")||"",a=(c+d).indexOf("%")>-1?g.width()/100:0,c=(c.indexOf("%")>-1?a:1)*parseInt(c,10)||b,d=(d.indexOf("%")>-1?a:1)*parseInt(d,10)||0,b=c+d?Math.min(Math.max(b,d),c):b,e.css(J,Math.round(b)).appendTo(g)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([a,this.qtip.tooltip],this._ns)}}),Cb=S.ie6=function(a){return 6===eb.ie?new y(a):F},Cb.initialize="render",C.ie6={"^content|style$":function(){this.redraw()}}})}(window,document),function(a){a.fn.typeWatch=function(b){function c(b,c){var d=a(b.el).val();(d.length>=f.captureLength&&d.toUpperCase()!=b.text||c&&d.length>=f.captureLength)&&(b.text=d.toUpperCase(),b.cb.call(b.el,d))}function d(b){var d=b.type.toUpperCase();if(a.inArray(d,f.inputTypes)>=0){var e={timer:null,text:a(b).val().toUpperCase(),cb:f.callback,el:b,wait:f.wait};f.highlight&&a(b).focus(function(){this.select()});var g=function(b){var d=e.wait,g=!1,h=this.type.toUpperCase();"undefined"!=typeof b.keyCode&&13==b.keyCode&&"TEXTAREA"!=h&&a.inArray(h,f.inputTypes)>=0&&(d=1,g=!0);var i=function(){c(e,g)};clearTimeout(e.timer),e.timer=setTimeout(i,d)};a(b).on("keydown paste cut input",g)}}var e=["TEXT","TEXTAREA","PASSWORD","TEL","SEARCH","URL","EMAIL","DATETIME","DATE","MONTH","WEEK","TIME","DATETIME-LOCAL","NUMBER","RANGE"],f=a.extend({wait:750,callback:function(){},highlight:!0,captureLength:2,inputTypes:e},b);return this.each(function(){d(this)})}}(jQuery),function(a){a.fn.serializeForm=function(){if(this.length<1)return!1;var b={},c=b,d=':input[type!="checkbox"][type!="radio"], input:checked',e=function(){if(!this.disabled){var d=this.name.replace(/\[([^\]]+)?\]/g,",$1").split(","),e=d.length-1,f=a(this);if(d[0]){for(var g=0;e>g;g++)c=c[d[g]]=c[d[g]]||(""===d[g+1]||"0"===d[g+1]?[]:{});void 0!==c.length?c.push(f.val()):c[d[e]]=f.val(),c=b}}};return this.filter(d).each(e),this.find(d).each(e),b}}(jQuery),function(a){function b(){var a="!@#$%^&*()+=[]\\';,/{}|\":<>?~`.-_";return a+=" "}function c(){var a="¬€£¦";return a}function d(b,c,d){b.each(function(){var b=a(this);b.bind("keyup change paste",function(a){var e="";a.originalEvent&&a.originalEvent.clipboardData&&a.originalEvent.clipboardData.getData&&(e=a.originalEvent.clipboardData.getData("text/plain")),setTimeout(function(){h(b,c,d,e)},0)}),b.bind("keypress",function(a){var e=a.charCode?a.charCode:a.which;if(!(g(e)||a.ctrlKey||a.metaKey)){var f=String.fromCharCode(e),h=b.selection(),i=h.start,j=h.end,k=b.val(),l=k.substring(0,i)+f+k.substring(j),m=c(l,d);m!=l&&a.preventDefault()}})})}function e(b,c){var d=parseFloat(a(b).val()),e=a(b);return isNaN(d)?void e.val(""):(f(c.min)&&dc.max&&e.val("")))}function f(a){return!isNaN(a)}function g(a){return a>=32?!1:10==a?!1:13==a?!1:!0}function h(a,b,c,d){var e=a.val();""==e&&d.length>0&&(e=d);var f=b(e,c);if(e!=f){var g=a.alphanum_caret();a.val(f),a.alphanum_caret(e.length==f.length+1?g-1:g)}}function i(b,c){"undefined"==typeof c&&(c=D);var d,e={};return d="string"==typeof b?F[b]:"undefined"==typeof b?{}:b,a.extend(e,c,d),"undefined"==typeof e.blacklist&&(e.blacklistSet=x(e.allow,e.disallow)),e}function j(b){var c,d={};return c="string"==typeof b?G[b]:"undefined"==typeof b?{}:b,a.extend(d,E,c),d}function k(a,b,c){return c.maxLength&&a.length>=c.maxLength?!1:c.allow.indexOf(b)>=0?!0:c.allowSpace&&" "==b?!0:c.blacklistSet.contains(b)?!1:!c.allowNumeric&&K[b]?!1:!c.allowUpper&&u(b)?!1:!c.allowLower&&v(b)?!1:!c.allowCaseless&&w(b)?!1:!c.allowLatin&&L.contains(b)?!1:c.allowOtherCharSets?!0:K[b]||L.contains(b)?!0:!1}function l(a,b,c){if(K[b])return n(a,c)?!1:p(a,c)?!1:o(a,c)?!1:q(a+b,c)?!1:r(a+b,c)?!1:!0;if(c.allowPlus&&"+"==b&&""==a)return!0;if(c.allowMinus&&"-"==b&&""==a)return!0;if(b==I&&c.allowThouSep&&A(a,b))return!0;if(b==J){if(a.indexOf(J)>=0)return!1;if(c.allowDecSep)return!0}return!1}function m(a){return a+="",a.replace(/[^0-9]/g,"").length}function n(a,b){var c=b.maxDigits;if(""==c||isNaN(c))return!1;var d=m(a);return d>=c?!0:!1}function o(a,b){var c=b.maxDecimalPlaces;if(""==c||isNaN(c))return!1;var d=a.indexOf(J);if(-1==d)return!1;var e=a.substring(d),f=m(e);return f>=c?!0:!1}function p(a,b){var c=b.maxPreDecimalPlaces;if(""==c||isNaN(c))return!1;var d=a.indexOf(J);if(d>=0)return!1;var e=m(a);return e>=c?!0:!1}function q(a,b){if(!b.max||b.max<0)return!1;var c=parseFloat(a);return c>b.max?!0:!1}function r(a,b){if(!b.min||b.min>0)return!1;var c=parseFloat(a);return c=0)return!1;var c=a.indexOf(I);if(0>c)return!0;var d=a.lastIndexOf(I),e=a.length-d-1;if(3>e)return!1;var f=m(a.substring(c));return f%3>0?!1:!0}function B(a){this.map="string"==typeof a?C(a):{}}function C(a){var b,c={},d=a.split(""),e=0;for(e=0;e=0?d.toString().length:startPos+c.toString().length,{start:startPos,end:endPos}):null},d=function(d){var e=b(d);if(void 0!==d.selectionStart)return document.activeElement&&document.activeElement!=d&&d.selectionStart==d.selectionEnd&&0==d.selectionStart?{start:d.value.length,end:d.value.length}:{start:d.selectionStart,end:d.selectionEnd};if(e.getSelection)return c(d,e);try{if("input"==d.nodeName.toLowerCase()){var f=b(d).document.selection.createRange(),g=d.createTextRange();g.setEndPoint("EndToStart",f);var h=g.text.length;return{start:h,end:h+f.text.length}}var i=c(d,e);if(!i)return i;var j=a.Range.current().clone(),k=j.clone().collapse().range,l=j.clone().collapse(!1).range;return k.moveStart("character",-1),l.moveStart("character",-1),0!=i.startPos&&""==k.text&&(i.startPos+=2),0!=i.endPos&&""==l.text&&(i.endPos+=2),i}catch(m){return{start:d.value.length,end:d.value.length}}},e=function(a,c,d){var e=b(a);if(a.setSelectionRange)void 0===d?(a.focus(),a.setSelectionRange(c,c)):(a.select(),a.selectionStart=c,a.selectionEnd=d);else if(a.createTextRange){var f=a.createTextRange();f.moveStart("character",c),d=d||c,f.moveEnd("character",d-a.value.length),f.select()}else if(e.getSelection){var h=e.document,i=e.getSelection(),j=h.createRange(),k=[c,void 0!==d?d:c];g([a],k),j.setStart(k[0].el,k[0].count),j.setEnd(k[1].el,k[1].count),i.removeAllRanges(),i.addRange(j)}else if(e.document.body.createTextRange){var j=document.body.createTextRange();j.moveToElementText(a),j.collapse(),j.moveStart("character",c),j.moveEnd("character",void 0!==d?d:c),j.select()}},f=function(a,b,c,d){"number"==typeof c[0]&&c[0]d.right||c.bottomd.bottom)}},a.redux.hideFields(),a.redux.checkRequired(),a.redux.initEvents(),a.redux.initQtip(),a.redux.tabCheck(),a.redux.notices(),a.redux.tabControl(),a.redux.devFunctions()}),a.redux.initEvents=function(){a(".redux-action_bar, .redux-presets-bar").on("click",function(){window.onbeforeunload=null}),a("#toplevel_page_"+redux.args.slug+" .wp-submenu a, #wp-admin-bar-"+redux.args.slug+" a.ab-item").click(function(b){if((a("#toplevel_page_"+redux.args.slug).hasClass("wp-menu-open")||a(this).hasClass("ab-item"))&&!a(this).parents("ul.ab-submenu:first").hasClass("ab-sub-secondary")){b.preventDefault();var c=a(this).attr("href").split("&tab=");return a("#"+c[1]+"_section_group_li_a").click(),a(this).parents("ul:first").find(".current").removeClass("current"),a(this).addClass("current"),a(this).parent().addClass("current"),!1}}),a('input[name="'+redux.args.opt_name+'[defaults]"]').click(function(){return confirm(redux.args.reset_confirm)?void(window.onbeforeunload=null):!1}),a('input[name="'+redux.args.opt_name+'[defaults-section]"]').click(function(){return confirm(redux.args.reset_section_confirm)?void(window.onbeforeunload=null):!1}),a(".expand_options").click(function(b){b.preventDefault();var c=a(".redux-container");if(a(c).hasClass("fully-expanded")){a(c).removeClass("fully-expanded");var d=a.cookie("redux_current_tab");a(".redux-container:first").find("#"+d+"_section_group").fadeIn(200,function(){0!==a(".redux-container:first").find("#redux-footer").length&&a.redux.stickyInfo(),a.redux.initFields()})}return a.redux.expandOptions(a(this).parents(".redux-container:first")),!1}),a(".saved_notice").is(":visible")&&a(".saved_notice").slideDown(),a(document.body).on("change",".redux-field input, .redux-field textarea, .redux-field select",function(){a(this).hasClass("noUpdate")||redux_change(a(this))});var b=a("#redux-footer").height();a("#redux-sticky-padder").css({height:b}),0!==a("#redux-footer").length&&(a(window).scroll(function(){a.redux.stickyInfo()}),a(window).resize(function(){a.redux.stickyInfo()})),a(".saved_notice").delay(4e3).slideUp(),a(".redux-save").click(function(){window.onbeforeunload=null})},a.redux.hideFields=function(){a("label[for='redux_hide_field']").each(function(){var b=a(this).parent().parent();a(b).addClass("hidden")})},a.redux.checkRequired=function(){a.redux.required(),a("body").on("change",".redux-main select, .redux-main radio, .redux-main input[type=checkbox], .redux-main input[type=hidden]",function(){a.redux.check_dependencies(this)}),a("body").on("check_dependencies",function(b,c){a.redux.check_dependencies(c)}),a("td > fieldset:empty,td > div:empty").parent().parent().hide()},a.redux.initQtip=function(){if(a().qtip){var b="",c=redux.args.hints.tip_style.shadow;c===!0&&(b="qtip-shadow");var d="",e=redux.args.hints.tip_style.color;""!==e&&(d="qtip-"+e);var f="",g=redux.args.hints.tip_style.rounded;g===!0&&(f="qtip-rounded");var h="",i=redux.args.hints.tip_style.style;""!==i&&(h="qtip-"+i);var j=b+","+d+","+f+","+h;j=j.replace(/,/g," ");var k=redux.args.hints.tip_position.my,l=redux.args.hints.tip_position.at;k=a.redux.verifyPos(k.toLowerCase(),!0),l=a.redux.verifyPos(l.toLowerCase(),!1);var m=redux.args.hints.tip_effect.show.event,n=redux.args.hints.tip_effect.hide.event,o=redux.args.hints.tip_effect.show.effect,p=redux.args.hints.tip_effect.show.duration,q=redux.args.hints.tip_effect.hide.effect,r=redux.args.hints.tip_effect.hide.duration;a("div.redux-hint-qtip").each(function(){a(this).qtip({content:{text:a(this).attr("qtip-content"),title:a(this).attr("qtip-title")},show:{effect:function(){switch(o){case"slide":a(this).slideDown(p);break;case"fade":a(this).fadeIn(p);break;default:a(this).show()}},event:m},hide:{effect:function(){switch(q){case"slide":a(this).slideUp(r);break;case"fade":a(this).fadeOut(r);break;default:a(this).show(r)}},event:n},style:{classes:j},position:{my:k,at:l}})}),a("input[qtip-content]").each(function(){a(this).qtip({content:{text:a(this).attr("qtip-content"),title:a(this).attr("qtip-title")},show:"focus",hide:"blur",style:j,position:{my:k,at:l}}) -})}},a.redux.tabCheck=function(){a(".redux-group-tab-link-a").click(function(){var b=a(this);if(b.parent().hasClass("empty_section")&&b.parent().hasClass("hasSubSections")){var c=a(this).closest("ul").find(".redux-group-tab-link-a"),d=c.index(this);b=c.slice(d+1,d+2)}var e=b.parents(".redux-container:first"),f=b.data("rel"),g=e.find(".redux-group-tab-link-li.active:first .redux-group-tab-link-a").data("rel");if(g!==f){if(a("#currentSection").val(f),b.parents(".postbox-container:first").length||a.cookie("redux_current_tab",f,{expires:7,path:"/"}),e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").length){var h=e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").attr("id").split("_");h=h[0]}if(e.find("#toplevel_page_"+redux.args.slug+" .wp-submenu a.current").removeClass("current"),e.find("#toplevel_page_"+redux.args.slug+" .wp-submenu li.current").removeClass("current"),e.find("#toplevel_page_"+redux.args.slug+" .wp-submenu a").each(function(){var b=a(this).attr("href").split("&tab=");(b[1]==f||b[1]==h)&&(a(this).addClass("current"),a(this).parent().addClass("current"))}),e.find("#"+g+"_section_group_li").find("#"+g+"_section_group_li").length)e.find("#"+g+"_section_group_li").addClass("activeChild"),e.find("#"+f+"_section_group_li").addClass("active").removeClass("activeChild");else if(e.find("#"+f+"_section_group_li").parents("#"+g+"_section_group_li").length||e.find("#"+g+"_section_group_li").parents("ul.subsection").find("#"+f+"_section_group_li").length)e.find("#"+f+"_section_group_li").parents("#"+g+"_section_group_li").length?e.find("#"+g+"_section_group_li").addClass("activeChild").removeClass("active"):(e.find("#"+f+"_section_group_li").addClass("active"),e.find("#"+g+"_section_group_li").removeClass("active")),e.find("#"+f+"_section_group_li").removeClass("activeChild").addClass("active");else if(e.find("#"+f+"_section_group_li").addClass("active").removeClass("activeChild").find("ul.subsection").slideDown(),e.find("#"+g+"_section_group_li").find("ul.subsection").length){e.find("#"+g+"_section_group_li").find("ul.subsection").slideUp("fast",function(){e.find("#"+g+"_section_group_li").removeClass("active").removeClass("activeChild")});var i=e.find("#"+f+"_section_group_li").parents(".hasSubSections:first");i.length>0&&(e.find("#"+f+"_section_group_li").removeClass("active"),f=i.find(".redux-group-tab-link-a:first").data("rel"),e.find("#"+f+"_section_group_li").addClass("active").removeClass("activeChild").find("ul.subsection").slideDown())}else e.find("#"+g+"_section_group_li").parents("ul.subsection").length?e.find("#"+g+"_section_group_li").parents("#"+f+"_section_group_li").length?e.find("#"+g+"_section_group_li").removeClass("active"):e.find("#"+g+"_section_group_li").parents("ul.subsection").slideUp("fast",function(){e.find("#"+g+"_section_group_li").removeClass("active"),e.find("#"+g+"_section_group_li").parents(".redux-group-tab-link-li").removeClass("active").removeClass("activeChild"),e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").addClass("activeChild").find("ul.subsection").slideDown(),e.find("#"+f+"_section_group_li").addClass("active")}):(e.find("#"+g+"_section_group_li").removeClass("active"),e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").length&&(e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").addClass("activeChild").find("ul.subsection").slideDown(),e.find("#"+f+"_section_group_li").addClass("active")));e.find("#"+g+"_section_group").hide(),e.find("#"+f+"_section_group").fadeIn(200,function(){0!==e.find("#redux-footer").length&&a.redux.stickyInfo(),a.redux.initFields()}),a("#toplevel_page_"+redux.args.slug).find(".current").removeClass("current")}});var b=decodeURI((new RegExp("tab=(.+?)(&|$)").exec(location.search)||[,""])[1]);""!==b?a.cookie("redux_current_tab_get")!==b&&(a.cookie("redux_current_tab",b,{expires:7,path:"/"}),a.cookie("redux_current_tab_get",b,{expires:7,path:"/"}),a("#"+b+"_section_group_li").click()):""!==a.cookie("redux_current_tab_get")&&a.removeCookie("redux_current_tab_get");var c=a("#"+a.cookie("redux_current_tab")+"_section_group_li_a");null===a.cookie("redux_current_tab")||"undefined"==typeof a.cookie("redux_current_tab")||0===c.length?a(".redux-container").find(".redux-group-tab-link-a:first").click():c.click()},a.redux.initFields=function(){a(".redux-group-tab:visible").find(".redux-field-init:visible").each(function(){var b=a(this).attr("data-type");redux.field_objects[b]&&redux.field_objects[b].init()})},a.redux.notices=function(){void 0!==redux.errors&&(a.each(redux.errors.errors,function(b,c){a.each(c.errors,function(b,c){a("#"+redux.args.opt_name+"-"+c.id).addClass("redux-field-error"),0===a("#"+redux.args.opt_name+"-"+c.id).parent().find(".redux-th-error").length&&a("#"+redux.args.opt_name+"-"+c.id).append('
'+c.msg+"
")})}),a(".redux-container").each(function(){var b=a(this),c=b.find(".redux-field-error").length;c>0&&(b.find(".redux-field-errors span").text(c),b.find(".redux-field-errors").slideDown(),b.find(".redux-group-tab").each(function(){var c=a(this).find(".redux-field-error").length;if(c>0){var d=a(this).attr("id").split("_");d=d[0],b.find('.redux-group-tab-link-a[data-key="'+d+'"]').prepend(''+c+""),b.find('.redux-group-tab-link-a[data-key="'+d+'"]').addClass("hasError");var e=b.find('.redux-group-tab-link-a[data-key="'+d+'"]').parents(".hasSubSections:first");e&&e.find(".redux-group-tab-link-a:first").addClass("hasError")}}));var d=b.find(".redux-field-warning").length;d>0&&(b.find(".redux-field-warnings span").text(d),b.find(".redux-field-warnings").slideDown(),b.find(".redux-group-tab").each(function(){var c=a(this).find(".redux-field-warning").length;if(c>0){var d=a(this).attr("id").split("_");d=d[0],b.find('.redux-group-tab-link-a[data-key="'+d+'"]').prepend(''+total+""),b.find('.redux-group-tab-link-a[data-key="'+d+'"]').addClass("hasWarning");var e=b.find('.redux-group-tab-link-a[data-key="'+d+'"]').parents(".hasSubSections:first");e&&e.find(".redux-group-tab-link-a:first").addClass("hasWarning")}}))}))},a.redux.tabControl=function(){a(".redux-section-tabs div").hide(),a(".redux-section-tabs div:first").show(),a(".redux-section-tabs ul li:first").addClass("active"),a(".redux-section-tabs ul li a").click(function(){a(".redux-section-tabs ul li").removeClass("active"),a(this).parent().addClass("active");var b=a(this).attr("href");return a(".redux-section-tabs div").hide(),a(b).fadeIn("medium",function(){a.redux.initFields()}),!1})},a.redux.devFunctions=function(){a("#consolePrintObject").on("click",function(b){b.preventDefault(),console.log(a.parseJSON(a("#redux-object-json").html()))}),"function"==typeof jsonView&&jsonView("#redux-object-json","#redux-object-browser")},a.redux.required=function(){a.each(redux.folds,function(b,c){var d=a("#"+redux.args.opt_name+"-"+b);if(d.parents("tr:first").addClass("fold"),"hide"==c){if(d.parents("tr:first").addClass("hide"),d.hasClass("redux-container-section")){var e=a("#section-"+b);e.hasClass("redux-section-indent-start")&&(a("#section-table-"+b).hide().addClass("hide"),e.hide().addClass("hide"))}if(d.hasClass("redux-container-info")&&a("#info-"+b).hide().addClass("hide"),d.hasClass("redux-container-divide")&&a("#divide-"+b).hide().addClass("hide"),d.hasClass("redux-container-raw")){var f=d.parents().find("table#"+redux.args.opt_name+"-"+b);f.hide().addClass("hide")}}})},a.redux.get_container_value=function(b){var c=a("#"+redux.args.opt_name+"-"+b).serializeForm();return null!==c&&"object"==typeof c&&c.hasOwnProperty(redux.args.opt_name)&&(c=c[redux.args.opt_name][b]),c},a.redux.check_dependencies=function(b){if(null!==redux.required){var c=a(b),d=c.parents(".redux-field:first").data("id");if(redux.required.hasOwnProperty(d)){var e=c.parents(".redux-field-container:first"),f=e.parents("tr:first").hasClass(".hide");a.each(redux.required[d],function(b){var c=a(this),d=!1,e=a("#"+redux.args.opt_name+"-"+b),g=e.parents("tr:first");if(f||(d=a.redux.check_parents_dependencies(b)),d===!0){if(e.hasClass("redux-container-section")){var h=a("#section-"+b);h.hasClass("redux-section-indent-start")&&h.hasClass("hide")&&(a("#section-table-"+b).fadeIn(300).removeClass("hide"),h.fadeIn(300).removeClass("hide"))}if(e.hasClass("redux-container-info")&&a("#info-"+b).fadeIn(300).removeClass("hide"),e.hasClass("redux-container-divide")&&a("#divide-"+b).fadeIn(300).removeClass("hide"),e.hasClass("redux-container-raw")){var i=e.parents().find("table#"+redux.args.opt_name+"-"+b);i.fadeIn(300).removeClass("hide")}g.fadeIn(300,function(){a(this).removeClass("hide"),redux.required.hasOwnProperty(b)&&a.redux.check_dependencies(a("#"+redux.args.opt_name+"-"+b).children().first()),a.redux.initFields()}),(e.hasClass("redux-container-section")||e.hasClass("redux-container-info"))&&g.css({display:"none"})}else d===!1&&g.fadeOut(100,function(){a(this).addClass("hide"),redux.required.hasOwnProperty(b)&&a.redux.required_recursive_hide(b)});c.find("select, radio, input[type=checkbox]").trigger("change")})}}},a.redux.required_recursive_hide=function(b){var c=a("#"+redux.args.opt_name+"-"+b).parents("tr:first");c.fadeOut(50,function(){if(a(this).addClass("hide"),a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-section")){var c=a("#section-"+b);c.hasClass("redux-section-indent-start")&&(a("#section-table-"+b).fadeOut(50).addClass("hide"),c.fadeOut(50).addClass("hide"))}if(a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-info")&&a("#info-"+b).fadeOut(50).addClass("hide"),a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-divide")&&a("#divide-"+b).fadeOut(50).addClass("hide"),a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-raw")){var d=a("#"+redux.args.opt_name+"-"+b).parents().find("table#"+redux.args.opt_name+"-"+b);d.fadeOut(50).addClass("hide")}redux.required.hasOwnProperty(b)&&a.each(redux.required[b],function(b){a.redux.required_recursive_hide(b)})})},a.redux.check_parents_dependencies=function(b){var c="";return redux.required_child.hasOwnProperty(b)?a.each(redux.required_child[b],function(b,d){if(a("#"+redux.args.opt_name+"-"+d.parent).parents("tr:first").hasClass(".hide"))c=!1;else if(c!==!1){var e=a.redux.get_container_value(d.parent);c=a.redux.check_dependencies_visibility(e,d)}}):c=!0,c},a.redux.check_dependencies_visibility=function(b,c){var d=!1,e=c.checkValue,f=c.operation;switch(f){case"=":case"equals":a.isArray(b)?a(b[0]).each(function(b,c){if(a.isArray(e))a(e).each(function(a,b){return c==b?(d=!0,!0):void 0});else if(c==e)return d=!0,!0}):a.isArray(e)?a(e).each(function(a,c){b==c&&(d=!0)}):b==e&&(d=!0);break;case"!=":case"not":a.isArray(b)?a(b[0]).each(function(b,c){if(a.isArray(e))a(e).each(function(a,b){return c!=b?(d=!0,!0):void 0});else if(c!=e)return d=!0,!0}):a.isArray(e)?a(e).each(function(a,c){b!=c&&(d=!0)}):b!=e&&(d=!0);break;case">":case"greater":case"is_larger":parseFloat(b)>parseFloat(e)&&(d=!0);break;case">=":case"greater_equal":case"is_larger_equal":parseFloat(b)>=parseFloat(e)&&(d=!0);break;case"<":case"less":case"is_smaller":parseFloat(b)g)&&(g=h,b.attr("data-height",g),b.css("width","auto"),b.attr("data-width",b.width()),f=b.width()),f>d?(e=d/f,b.css("width",d),b.css("height",g*e),g*=e,f*=e):b.css("width","auto"),g>c?(e=c/g,b.css("height",c),b.css("width",f*e),f*=e,g*=e):b.css("height","auto");var i=(a(document.getElementById("redux-header")).height()-b.height())/2;i>0?b.css("margin-top",i):b.css("margin-top",0),a("#redux-header .redux_field_search")&&a("#redux-header .redux_field_search").css("right",a(b).width()+20)},a.redux.resizeAds=function(){var b=a("#redux-header"),c=b.find(".rAds"),d=b.height(),e=b.width()-b.find(".display_header").width()-30;a(c).find("video").each(function(){a.redux.scaleToRatio(a(this),d,e)}),a(c).find("img").each(function(){a.redux.scaleToRatio(a(this),d,e)}),a(c).find("div").each(function(){a.redux.scaleToRatio(a(this),d,e)}),"-99999px"==c.css("left")&&c.css("display","none").css("left","auto"),c.fadeIn("slow")},a(document).ready(function(){redux.rAds&&setTimeout(function(){a("#redux-header").append('
');var b=a("#redux-header");b.css("position","relative"),b.find(".rAds").attr("style","position:absolute; top: 6px; right: 6px; display:block !important;overflow:hidden;").css("left","-99999px"),b.find(".rAds").html(redux.rAds.replace(//,""));{var c=b.find(".rAds");b.height(),b.width()-b.find(".display_header").width()-30}c.find("a").css("float","right").css("line-height",b.height()+"px").css("margin-left","5px"),a(document).ajaxComplete(function(){c.find("a").hide(),setTimeout(function(){a.redux.resizeAds(),c.find("a").fadeIn()},1400),setTimeout(function(){a.redux.resizeAds()},1500),a(document).unbind("ajaxComplete")}),a(window).resize(function(){a.redux.resizeAds()})},400)})}(jQuery),jQuery.noConflict();var confirmOnPageExit=function(a){a=a||window.event;var b=redux.args.save_pending;return a&&(a.returnValue=b),window.onbeforeunload=null,b}; \ No newline at end of file +function redux_change(a){jQuery("body").trigger("check_dependencies",a),a.hasClass("compiler")&&jQuery("#redux-compiler-hook").val(1);var b=jQuery(a).parents(".redux-container:first"),c=jQuery(a).closest(".redux-group-tab").attr("id"),d=c.split("_");d=d[0];var e=b.find('.redux-group-tab-link-a[data-key="'+d+'"]').parents(".redux-group-tab-link-li:first"),f=jQuery("#"+c+"_li").parents(".hasSubSections:first");if(jQuery(a).parents("fieldset.redux-field:first").hasClass("redux-field-error")){jQuery(a).parents("fieldset.redux-field:first").removeClass("redux-field-error"),jQuery(a).parent().find(".redux-th-error").slideUp();var g=parseInt(b.find(".redux-field-errors span").text())-1;if(0>=g)jQuery("#"+c+"_li .redux-menu-error").fadeOut("fast").remove(),jQuery("#"+c+"_li .redux-group-tab-link-a").removeClass("hasError"),jQuery("#"+c+"_li").parents(".inside:first").find(".redux-field-errors").slideUp(),jQuery(a).parents(".redux-container:first").find(".redux-field-errors").slideUp(),jQuery("#redux_metaboxes_errors").slideUp();else{var h=parseInt(e.find(".redux-menu-error:first").text())-1;0>=h?e.find(".redux-menu-error:first").fadeOut().remove():e.find(".redux-menu-error:first").text(h),b.find(".redux-field-errors span").text(g)}0!==f.length&&0===f.find(".redux-menu-error").length&&f.find(".hasError").removeClass("hasError")}if(jQuery(a).parents("fieldset.redux-field:first").hasClass("redux-field-warning")){jQuery(a).parents("fieldset.redux-field:first").removeClass("redux-field-warning"),jQuery(a).parent().find(".redux-th-warning").slideUp();var i=parseInt(b.find(".redux-field-warnings span").text())-1;if(0>=i)jQuery("#"+c+"_li .redux-menu-warning").fadeOut("fast").remove(),jQuery("#"+c+"_li .redux-group-tab-link-a").removeClass("hasWarning"),jQuery("#"+c+"_li").parents(".inside:first").find(".redux-field-warnings").slideUp(),jQuery(a).parents(".redux-container:first").find(".redux-field-warnings").slideUp(),jQuery("#redux_metaboxes_warnings").slideUp();else{var j=parseInt(e.find(".redux-menu-warning:first").text())-1;0>=j?e.find(".redux-menu-warning:first").fadeOut().remove():e.find(".redux-menu-warning:first").text(j),b.find(".redux-field-warning span").text(i)}0!==f.length&&0===f.find(".redux-menu-warning").length&&f.find(".hasWarning").removeClass("hasWarning")}b.find(".saved_notice:visible").length>0||redux.args.disable_save_warn||(b.find(".redux-save-warn").slideDown(),window.onbeforeunload=confirmOnPageExit)}function colorValidate(a){var b=jQuery(a).val(),c=colorNameToHex(b);return c!==b.replace("#","")?c:b}function colorNameToHex(a){var b=a.replace(/^\s\s*/,"").replace(/\s\s*$/,"").replace("#",""),c={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c","indigo ":"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",redux:"#01a3e3",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return"undefined"!==c[b.toLowerCase()]?c[b.toLowerCase()]:a}!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(a){return a}function c(a){return decodeURIComponent(a.replace(e," "))}function d(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return f.json?JSON.parse(a):a}catch(b){}}var e=/\+/g,f=a.cookie=function(e,g,h){if(void 0!==g){if(h=a.extend({},f.defaults,h),"number"==typeof h.expires){var i=h.expires,j=h.expires=new Date;j.setDate(j.getDate()+i)}return g=f.json?JSON.stringify(g):String(g),document.cookie=[f.raw?e:encodeURIComponent(e),"=",f.raw?g:encodeURIComponent(g),h.expires?"; expires="+h.expires.toUTCString():"",h.path?"; path="+h.path:"",h.domain?"; domain="+h.domain:"",h.secure?"; secure":""].join("")}for(var k=f.raw?b:c,l=document.cookie.split("; "),m=e?void 0:{},n=0,o=l.length;o>n;n++){var p=l[n].split("="),q=k(p.shift()),r=k(p.join("="));if(e&&e===q){m=d(r);break}e||(m[q]=d(r))}return m};f.defaults={},a.removeCookie=function(b,c){return void 0!==a.cookie(b)?(a.cookie(b,"",a.extend({},c,{expires:-1})),!0):!1}}),"undefined"==typeof jQuery.qtip&&!function(a,b,c){!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){"use strict";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=G,this.elements={target:a},this._id=T+"-"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:F,attr:e,onTooltip:F,lastClass:""},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=F}function f(a){return a===G||"object"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||"object"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?F:(f(a.metadata)&&(a.metadata={type:a.metadata}),"content"in a&&(b=a.content,f(b)||b.jquery||b.done?b=a.content={text:c=g(b)?F:b}:c=b.text,"ajax"in b&&(e=b.ajax,h=e&&e.once!==F,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||"Loading...",g=d.ajax(d.extend({},e,{context:b})).then(e.success,G,e.error).then(function(a){return a&&h&&b.set("content.text",a),a},function(a,c,d){b.destroyed||0===a.status||b.set("content.text",c+": "+d)});return h?f:(b.set("content.text",f),g)}),"title"in b&&(f(b.title)||(b.button=b.title.button,b.title=b.title.text),g(b.title||F)&&(b.title=F))),"position"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),"show"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===E?{ready:E}:{event:a.show}),"hide"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),"style"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(S,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(".");e=e[f[d++]];)d0?setTimeout(d.proxy(a,this),b):void a.call(this)}function n(a){return this.tooltip.hasClass(bb)?F:(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),void(this.timers.show=m.call(this,function(){this.toggle(E,a)},this.options.show.delay)))}function o(a){if(this.tooltip.hasClass(bb))return F;var b=d(a.relatedTarget),c=b.closest(X)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&"mouse"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=m.call(this,function(){this.toggle(F,a)},this.options.hide.delay,this)}function p(a){return this.tooltip.hasClass(bb)||!this.options.hide.inactive?F:(clearTimeout(this.timers.inactive),void(this.timers.inactive=m.call(this,function(){this.hide(a)},this.options.hide.inactive)))}function q(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function r(a,c,e){d(b.body).delegate(a,(c.split?c:c.join(ib+" "))+ib,function(){var a=z.api[d.attr(this,V)];a&&!a.disabled&&e.apply(a,arguments)})}function s(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):G,p="html5"===f.metadata.type&&o?o[f.metadata.name]:G,q=a.data(f.metadata.name||"qtipopts");try{q="string"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(E,{},z.defaults,f,"object"==typeof q?h(q):G,h(p||o)),i=k.position,k.id=c,"boolean"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===F||!j)return F;k.content.text=j}if(i.container.length||(i.container=m),i.target===F&&(i.target=n),k.show.target===F&&(k.show.target=n),k.show.solo===E&&(k.show.solo=i.container.closest("body")),k.hide.target===F&&(k.hide.target=n),k.position.viewport===E&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new B(i.at,E),i.my=new B(i.my),a.data(T))if(k.overwrite)a.qtip("destroy",!0);else if(k.overwrite===F)return F;return a.attr(U,c),k.suppress&&(l=a.attr("title"))&&a.removeAttr("title").attr(db,l).attr("title",""),g=new e(a,k,c,!!j),a.data(T,g),a.one("remove.qtip-"+c+" removeqtip.qtip-"+c,function(){var a;(a=d(this).data(T))&&a.destroy(!0)}),g}function t(a){return a.charAt(0).toUpperCase()+a.slice(1)}function u(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+" "+tb.join(f+" ")+f).split(" "),h=0;if(sb[b])return a.css(sb[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return sb[b]=d,e}function v(a,b){return Math.ceil(parseFloat(u(a,b)))}function w(a,b){this._ns="tip",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.init(this.qtip=a)}function x(a,b){this.options=b,this._ns="-modal",this.init(this.qtip=a)}function y(a){this._ns="ie6",this.init(this.qtip=a)}var z,A,B,C,D,E=!0,F=!1,G=null,H="x",I="y",J="width",K="height",L="top",M="left",N="bottom",O="right",P="center",Q="flipinvert",R="shift",S={},T="qtip",U="data-hasqtip",V="data-qtip-id",W=["ui-widget","ui-tooltip"],X="."+T,Y="click dblclick mousedown mouseup mousemove mouseleave mouseenter".split(" "),Z=T+"-fixed",$=T+"-default",_=T+"-focus",ab=T+"-hover",bb=T+"-disabled",cb="_replacedByqTip",db="oldtitle",eb={ie:function(){for(var a=3,c=b.createElement("div");(c.innerHTML="")&&c.getElementsByTagName("i")[0];);return a>4?a:0/0}(),iOS:parseFloat((""+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))||F};A=e.prototype,A._when=function(a){return d.when.apply(d,a)},A.render=function(a){if(this.rendered||this.destroyed)return this;var b,c=this,e=this.options,f=this.cache,g=this.elements,h=e.content.text,i=e.content.title,j=e.content.button,k=e.position,l=("."+this._id+" ",[]);return d.attr(this.target[0],"aria-describedby",this._id),this.tooltip=g.tooltip=b=d("
",{id:this._id,"class":[T,$,e.style.classes,T+"-pos-"+e.position.my.abbrev()].join(" "),width:e.style.width||"",height:e.style.height||"",tracking:"mouse"===k.target&&k.adjust.mouse,role:"alert","aria-live":"polite","aria-atomic":F,"aria-describedby":this._id+"-content","aria-hidden":E}).toggleClass(bb,this.disabled).attr(V,this.id).data(T,this).appendTo(k.container).append(g.content=d("
",{"class":T+"-content",id:this._id+"-content","aria-atomic":E})),this.rendered=-1,this.positioning=E,i&&(this._createTitle(),d.isFunction(i)||l.push(this._updateTitle(i,F))),j&&this._createButton(),d.isFunction(h)||l.push(this._updateContent(h,F)),this.rendered=E,this._setWidget(),d.each(S,function(a){var b;"render"===this.initialize&&(b=this(c))&&(c.plugins[a]=b)}),this._unassignEvents(),this._assignEvents(),this._when(l).then(function(){c._trigger("render"),c.positioning=F,c.hiddenDuringWait||!e.show.ready&&!a||c.toggle(E,f.event,F),c.hiddenDuringWait=F}),z.api[this.id]=this,this},A.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=E;var a=this.target,b=a.attr(db);this.rendered&&this.tooltip.stop(1,0).find("*").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()}),clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this._unassignEvents(),a.removeData(T).removeAttr(V).removeAttr(U).removeAttr("aria-describedby"),this.options.suppress&&b&&a.attr("title",b).removeAttr(db),this._unbind(a),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=G,delete z.api[this.id]}}return this.destroyed?this.target:(a===E&&"hide"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one("tooltiphidden",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},C=A.checks={builtin:{"^id$":function(a,b,c,e){var f=c===E?z.nextid:c,g=T+"-"+f;f!==F&&f.length>0&&!d("#"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+"-content",this.elements.title[0].id=this._id+"-title")):a[b]=e},"^prerender":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},"^content.text$":function(a,b,c){this._updateContent(c)},"^content.attr$":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},"^content.title$":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},"^content.button$":function(a,b,c){this._updateButton(c)},"^content.title.(text|button)$":function(a,b,c){this.set("content."+b,c)},"^position.(my|at)$":function(a,b,c){"string"==typeof c&&(a[b]=new B(c,"at"===b))},"^position.container$":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},"^show.ready$":function(a,b,c){c&&(!this.rendered&&this.render(E)||this.toggle(E))},"^style.classes$":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},"^style.(width|height)":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},"^style.widget|content.title":function(){this.rendered&&this._setWidget()},"^style.def":function(a,b,c){this.rendered&&this.tooltip.toggleClass($,!!c)},"^events.(render|show|move|hide|focus|blur)$":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?"":"un")+"bind"]("tooltip"+b,c)},"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr("tracking","mouse"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},A.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var fb=/^position\.(my|at|adjust|target|container|viewport)|style|content|show\.ready/i,gb=/^prerender|show\.ready/i;A.set=function(a,b){if(this.destroyed)return this;{var c,e=this.rendered,f=F,g=this.options;this.checks}return"string"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&gb.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=fb.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=E,d.each(a,d.proxy(j,this)),this.positioning=F,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition("mouse"===g.position.target?G:this.cache.event),this},A._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||""),d.isFunction(a.then)?(e.waiting=E,a.then(function(a){return e.waiting=F,c._update(a,b)},G,function(a){return c._update(a,b)})):a===F||!a&&""!==a?F:(a.jquery&&a.length>0?b.empty().append(a.css({display:"block",visibility:"visible"})):b.html(a),this._waitForContent(b).then(function(a){a.images&&a.images.length&&c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):F},A._waitForContent=function(a){var b=this.cache;return b.waiting=E,(d.fn.imagesLoaded?a.imagesLoaded():d.Deferred().resolve([])).done(function(){b.waiting=F}).promise()},A._updateContent=function(a,b){this._update(a,this.elements.content,b)},A._updateTitle=function(a,b){this._update(a,this.elements.title,b)===F&&this._removeTitle(F)},A._createTitle=function(){var a=this.elements,b=this._id+"-title";a.titlebar&&this._removeTitle(),a.titlebar=d("
",{"class":T+"-titlebar "+(this.options.style.widget?k("header"):"")}).append(a.title=d("
",{id:b,"class":T+"-title","aria-atomic":E})).insertBefore(a.content).delegate(".qtip-close","mousedown keydown mouseup keyup mouseout",function(a){d(this).toggleClass("ui-state-active ui-state-focus","down"===a.type.substr(-4))}).delegate(".qtip-close","mouseover mouseout",function(a){d(this).toggleClass("ui-state-hover","mouseover"===a.type)}),this.options.content.button&&this._createButton()},A._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=G,a!==F&&this.reposition())},A.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=E;var f,g,h=this.cache,i=this.tooltip,j=this.options.position,k=j.target,l=j.my,m=j.at,n=j.viewport,o=j.container,p=j.adjust,q=p.method.split(" "),r=i.outerWidth(F),s=i.outerHeight(F),t=0,u=0,v=i.css("position"),w={left:0,top:0},x=i[0].offsetWidth>0,y=c&&"scroll"===c.type,z=d(a),A=o[0].ownerDocument,B=this.mouse;if(d.isArray(k)&&2===k.length)m={x:M,y:L},w={left:k[0],top:k[1]};else if("mouse"===k)m={x:M,y:L},!B||!B.pageX||!p.mouse&&c&&c.pageX?c&&c.pageX||((!p.mouse||this.options.show.distance)&&h.origin&&h.origin.pageX?c=h.origin:(!c||c&&("resize"===c.type||"scroll"===c.type))&&(c=h.event)):c=B,"static"!==v&&(w=o.offset()),A.body.offsetWidth!==(a.innerWidth||A.documentElement.clientWidth)&&(g=d(b.body).offset()),w={left:c.pageX-w.left+(g&&g.left||0),top:c.pageY-w.top+(g&&g.top||0)},p.mouse&&y&&B&&(w.left-=(B.scrollX||0)-z.scrollLeft(),w.top-=(B.scrollY||0)-z.scrollTop());else{if("event"===k?c&&c.target&&"scroll"!==c.type&&"resize"!==c.type?h.target=d(c.target):c.target||(h.target=this.elements.target):"event"!==k&&(h.target=d(k.jquery?k:this.elements.target)),k=h.target,k=d(k).eq(0),0===k.length)return this;k[0]===b||k[0]===a?(t=eb.iOS?a.innerWidth:k.width(),u=eb.iOS?a.innerHeight:k.height(),k[0]===a&&(w={top:(n||k).scrollTop(),left:(n||k).scrollLeft()})):S.imagemap&&k.is("area")?f=S.imagemap(this,k,m,S.viewport?q:F):S.svg&&k&&k[0].ownerSVGElement?f=S.svg(this,k,m,S.viewport?q:F):(t=k.outerWidth(F),u=k.outerHeight(F),w=k.offset()),f&&(t=f.width,u=f.height,g=f.offset,w=f.position),w=this.reposition.offset(k,w,o),(eb.iOS>3.1&&eb.iOS<4.1||eb.iOS>=4.3&&eb.iOS<4.33||!eb.iOS&&"fixed"===v)&&(w.left-=z.scrollLeft(),w.top-=z.scrollTop()),(!f||f&&f.adjustable!==F)&&(w.left+=m.x===O?t:m.x===P?t/2:0,w.top+=m.y===N?u:m.y===P?u/2:0)}return w.left+=p.x+(l.x===O?-r:l.x===P?-r/2:0),w.top+=p.y+(l.y===N?-s:l.y===P?-s/2:0),S.viewport?(w.adjusted=S.viewport(this,w,j,t,u,r,s),g&&w.adjusted.left&&(w.left+=g.left),g&&w.adjusted.top&&(w.top+=g.top)):w.adjusted={left:0,top:0},this._trigger("move",[w,n.elem||n],c)?(delete w.adjusted,e===F||!x||isNaN(w.left)||isNaN(w.top)||"mouse"===k||!d.isFunction(j.effect)?i.css(w):d.isFunction(j.effect)&&(j.effect.call(i,this,d.extend({},w)),i.queue(function(a){d(this).css({opacity:"",height:""}),eb.ie&&this.style.removeAttribute("filter"),a()})),this.positioning=F,this):this},A.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!eb.ie&&"CSS1Compat"!==b.compatMode,m=e[0];do"static"!==(h=d.css(m,"position"))&&("fixed"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,"borderLeftWidth"))||0,i.top+=parseFloat(d.css(m,"borderTopWidth"))||0),c.left-=i.left+(parseFloat(d.css(m,"marginLeft"))||0),c.top-=i.top+(parseFloat(d.css(m,"marginTop"))||0),g||"hidden"===(j=d.css(m,"overflow"))||"visible"===j||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var hb=(B=A.reposition.Corner=function(a,b){a=(""+a).replace(/([A-Z])/," $1").replace(/middle/gi,P).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||["inherit"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||["inherit"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance="t"===c||"b"===c?I:H}).prototype;hb.invert=function(a,b){this[a]=this[a]===M?O:this[a]===O?M:b||this[a]},hb.string=function(){var a=this.x,b=this.y;return a===b?a:this.precedance===I||this.forceY&&"center"!==b?b+" "+a:a+" "+b},hb.abbrev=function(){var a=this.string().split(" ");return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||"")},hb.clone=function(){return new B(this.string(),this.forceY)},A.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=l(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=E),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?"show":"hide",m=this.options[k],n=(this.options[a?"hide":"show"],this.options.position),o=this.options.content,p=this.tooltip.css("width"),q=this.tooltip.is(":visible"),r=a||1===m.target.length,s=!c||m.target.length<2||e.target[0]===c.target;return(typeof a).search("boolean|number")&&(a=!q),h=!g.is(":animated")&&q===a&&s,i=h?G:!!this._trigger(k,[90]),this.destroyed?this:(i!==F&&a&&this.focus(c),!i||h?this:(d.attr(g[0],"aria-hidden",!a),a?(e.origin=l(this.mouse),d.isFunction(o.text)&&this._updateContent(o.text,F),d.isFunction(o.title)&&this._updateTitle(o.title,F),!D&&"mouse"===n.target&&n.adjust.mouse&&(d(b).bind("mousemove."+T,this._storeMouse),D=E),p||g.css("width",g.outerWidth(F)),this.reposition(c,arguments[2]),p||g.css("width",""),m.solo&&("string"==typeof m.solo?d(m.solo):d(X,m.solo)).not(g).not(m.target).qtip("hide",d.Event("tooltipsolo"))):(clearTimeout(this.timers.show),delete e.origin,D&&!d(X+'[tracking="true"]:visible',m.solo).not(g).length&&(d(b).unbind("mousemove."+T),D=F),this.blur(c)),j=d.proxy(function(){a?(eb.ie&&g[0].style.removeAttribute("filter"),g.css("overflow",""),"string"==typeof m.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger("qtip-"+this.id+"-inactive")):g.css({display:"",visibility:"",opacity:"",left:"",top:""}),this._trigger(a?"visible":"hidden")},this),m.effect===F||r===F?(g[k](),j()):d.isFunction(m.effect)?(g.stop(1,1),m.effect.call(g,this),g.queue("fx",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&m.target.trigger("qtip-"+this.id+"-inactive"),this))},A.show=function(a){return this.toggle(E,a)},A.hide=function(a){return this.toggle(F,a)},A.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(X),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=z.zindex+b.length;return c.hasClass(_)||this._trigger("focus",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter("."+_).qtip("blur",a)),c.addClass(_)[0].style.zIndex=f),this},A.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass(_),this._trigger("blur",[this.tooltip.css("zIndex")],a),this)},A.disable=function(a){return this.destroyed?this:("toggle"===a?a=!(this.rendered?this.tooltip.hasClass(bb):this.disabled):"boolean"!=typeof a&&(a=E),this.rendered&&this.tooltip.toggleClass(bb,a).attr("aria-disabled",a),this.disabled=!!a,this)},A.enable=function(){return this.disable(F)},A._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f="string"==typeof e,g=f?e:"Close tooltip";b.button&&b.button.remove(),b.button=e.jquery?e:d("",{"class":"qtip-close "+(this.options.style.widget?"":T+"-icon"),title:g,"aria-label":g}).prepend(d("",{"class":"ui-icon ui-icon-close",html:"×"})),b.button.appendTo(b.titlebar||c).attr("role","button").click(function(b){return c.hasClass(bb)||a.hide(b),F})},A._updateButton=function(a){if(!this.rendered)return F;var b=this.elements.button;a?this._createButton():b.remove()},A._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(bb);c.removeClass(bb),bb=a?"ui-state-disabled":"qtip-disabled",c.toggleClass(bb,d),c.toggleClass("ui-helper-reset "+k(),a).toggleClass($,this.options.style.def&&!a),b.content&&b.content.toggleClass(k("content"),a),b.titlebar&&b.titlebar.toggleClass(k("header"),a),b.button&&b.button.toggleClass(T+"-icon",!a)},A._storeMouse=function(a){(this.mouse=l(a)).type="mousemove"},A._bind=function(a,b,c,e,f){var g="."+this._id+(e?"-"+e:"");b.length&&d(a).bind((b.split?b:b.join(g+" "))+g,d.proxy(c,f||this))},A._unbind=function(a,b){d(a).unbind("."+this._id+(b?"-"+b:""))};var ib="."+T;d(function(){r(X,["mouseenter","mouseleave"],function(a){var b="mouseenter"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(Z)&&!c.hasClass(bb)&&clearTimeout(this.timers.hide)):"mouse"===f.position.target&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(ab,b)}),r("["+V+"]",Y,p)}),A._trigger=function(a,b,c){var e=d.Event("tooltip"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||G,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=F,!e.isDefaultPrevented()},A._bindEvents=function(a,b,c,e,f,g){if(e.add(c).length===e.length){var h=[];b=d.map(b,function(b){var c=d.inArray(b,a);return c>-1?void h.push(a.splice(c,1)[0]):b}),h.length&&this._bind(c,h,function(a){var b=this.rendered?this.tooltip[0].offsetWidth>0:!1;(b?g:f).call(this,a)})}this._bind(c,a,f),this._bind(e,b,g)},A._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?F:(this.cache.event=l(a),this.cache.target=a?d(a.target):[c],clearTimeout(this.timers.show),void(this.timers.show=m.call(this,function(){this.render("object"==typeof a||e.show.ready)},e.show.delay)))}var e=this.options,f=e.show.target,g=e.hide.target,h=e.show.event?d.trim(""+e.show.event).split(" "):[],i=e.hide.event?d.trim(""+e.hide.event).split(" "):[];/mouse(over|enter)/i.test(e.show.event)&&!/mouse(out|leave)/i.test(e.hide.event)&&i.push("mouseleave"),this._bind(f,"mousemove",function(a){this._storeMouse(a),this.cache.onTarget=E}),this._bindEvents(h,i,f,g,b,function(){clearTimeout(this.timers.show)}),(e.show.ready||e.prerender)&&b.call(this,a)},A._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),m=(d(b.body),d(a)),r=e.show.event?d.trim(""+e.show.event).split(" "):[],s=e.hide.event?d.trim(""+e.hide.event).split(" "):[];d.each(e.events,function(a,b){c._bind(g,"toggle"===a?["tooltipshow","tooltiphide"]:["tooltip"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&"window"===e.hide.leave&&this._bind(l,["mouseout","blur"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(Z)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,"mouseleave",function(){clearTimeout(this.timers.show)}),(""+e.hide.event).indexOf("unfocus")>-1&&this._bind(j.closest("html"),["mousedown","touchstart"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(bb)&&this.tooltip[0].offsetWidth>0,e=b.parents(X).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),"number"==typeof e.hide.inactive&&(this._bind(h,"qtip-"+this.id+"-inactive",p),this._bind(i.add(g),z.inactiveEvents,p,"-inactive")),this._bindEvents(r,s,h,i,n,o),this._bind(h.add(g),"mousemove",function(a){if("number"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),"mouse"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,["mouseenter","mouseleave"],function(a){this.cache.onTarget="mouseenter"===a.type}),this._bind(l,"mousemove",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(bb)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:m,"resize",q),f.adjust.scroll&&this._bind(m.add(f.container),"scroll",q)},A._unassignEvents=function(){var c=[this.options.show.target[0],this.options.hide.target[0],this.rendered&&this.tooltip[0],this.options.position.container[0],this.options.position.viewport[0],this.options.position.container.closest("html")[0],a,b];this._unbind(d([]).pushStack(d.grep(c,function(a){return"object"==typeof a})))},z=d.fn.qtip=function(a,b,e){var f=(""+a).toLowerCase(),g=G,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],T):G;return!arguments.length&&k||"api"===f?k:"string"==typeof a?(this.each(function(){var a=d.data(this,T);if(!a)return E;if(j&&j.timeStamp&&(a.cache.event=j),!b||"option"!==f&&"options"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),F;a.set(b,e)}}),g!==G?g:this):"object"!=typeof a&&arguments.length?void 0:(k=h(d.extend(E,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===F||c.length<1||z.api[c]?z.nextid++:c,b=s(d(this),c,k),b===F?E:(z.api[c]=b,d.each(S,function(){"initialize"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,z.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e="title",f=d.data(c,"qtip");if(a===e&&f&&"object"==typeof f&&f.options.suppress)return arguments.length<2?d.attr(c,db):(f&&f.options.content.attr===e&&f.cache.attr&&f.set("content.text",b),this.attr(db,b))}return d.fn["attr"+cb].apply(this,arguments)},clone:function(a){var b=(d([]),d.fn["clone"+cb].apply(this,arguments));return a||b.filter("["+db+"]").attr("title",function(){return d.attr(this,db)}).removeAttr(db),b}},function(a,b){if(!b||d.fn[a+cb])return E;var c=d.fn[a+cb]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d["cleanData"+cb]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(U))try{b.triggerHandler("removeqtip") +}catch(e){}d["cleanData"+cb].apply(this,arguments)}),z.version="2.2.0",z.nextid=0,z.inactiveEvents=Y,z.zindex=15e3,z.defaults={prerender:F,id:F,overwrite:E,suppress:E,content:{text:E,attr:"title",title:F,button:F},position:{my:"top left",at:"bottom right",target:F,container:F,viewport:F,adjust:{x:0,y:0,mouse:E,scroll:E,resize:E,method:"flipinvert flipinvert"},effect:function(a,b){d(this).animate(b,{duration:200,queue:F})}},show:{target:F,event:"mouseenter",effect:E,delay:90,solo:F,ready:F,autofocus:F},hide:{target:F,event:"mouseleave",effect:E,delay:0,fixed:F,inactive:F,leave:"window",distance:F},style:{classes:"",widget:F,width:F,height:F,def:E},events:{render:G,move:G,show:G,hide:G,toggle:G,visible:G,hidden:G,focus:G,blur:G}};var jb,kb="margin",lb="border",mb="color",nb="background-color",ob="transparent",pb=" !important",qb=!!b.createElement("canvas").getContext,rb=/rgba?\(0, 0, 0(, 0)?\)|transparent|#123456/i,sb={},tb=["Webkit","O","Moz","ms"];if(qb)var ub=a.devicePixelRatio||1,vb=function(){var a=b.createElement("canvas").getContext("2d");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),wb=ub/vb;else var xb=function(a,b,c){return"'};d.extend(w.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d("
",{"class":T+"-tip"}).prependTo(a.tooltip),qb?(b=d("").appendTo(this.element)[0].getContext("2d"),b.lineJoin="miter",b.miterLimit=1e5,b.save()):(b=xb("shape",'coordorigin="0,0"',"position:absolute;"),this.element.html(b+b),a._bind(d("*",c).add(c),["click","mousedown"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,"tooltipmove",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===L||a.y===P&&this.element.position().top+this.size[1]/2+this.options.offsetl&&!rb.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==E?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+"px"}),j=b.precedance===I?[s(r.x===M?l:r.x===O?k[0]-q[0]-l:(k[0]-q[0])/2),s(r.y===L?k[1]-q[1]:0)]:[s(r.x===M?k[0]-q[0]:0),s(r.y===L?l:r.y===N?k[1]-q[1]-l:(k[1]-q[1])/2)],qb?(g=o[0].getContext("2d"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,wb),i=this._calculateTip(r,this.size,wb),o.attr(J,k[0]*wb).attr(K,k[1]*wb),o.css(J,k[0]).css(K,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*wb,j[1]*wb),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h="m"+h[0]+","+h[1]+" l"+h[2]+","+h[3]+" "+h[4]+","+h[5]+" xe",j[2]=l&&/^(r|b)/i.test(b.string())?8===eb.ie?2:1:0,o.css({coordsize:k[0]+l+" "+(k[1]+l),antialias:""+(r.string().indexOf(P)>-1),left:j[0]-j[2]*Number(f===H),top:j[1]-j[2]*Number(f===I),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?"prop":"attr"]({coordsize:k[0]+l+" "+(k[1]+l),path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(xb("stroke",'weight="'+2*l+'px" color="'+e[1]+'" miterlimit="1000" joinstyle="miter"'))})),a.opera&&setTimeout(function(){m.tip.css({display:"inline-block",visibility:"visible"})},1),c!==F&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return F;var c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j=(g.tooltip.hasClass("ui-widget"),{});return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===H&&e.reverse(),d.each(e,function(d,e){var h,k,l;e===P?(h=c===I?M:L,j[h]="50%",j[kb+"-"+h]=-Math.round(b[c===I?0:1]/2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))}),j[a[c]]-=b[c===H?0:1],h.css({margin:"",top:"",bottom:"",left:"",right:""}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===R&&j.precedance===b&&k[d]&&j[c]!==P?j.precedance=j.precedance===H?I:H:a!==R&&k[d]&&(j[b]=j[b]===P?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===P?p[kb+"-"+b]=o[a]=g[kb+"-"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=F),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(" "),m=l[0],n=l[1]||l[0],o={left:F,top:F,x:0,y:0},p={};this.corner.fixed!==E&&(e(m,H,I,M,O),e(n,I,H,L,N),j.string()===i.corner.string()||i.cornerTop===k.top&&i.cornerLeft===k.left||this.update(j,F)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,(o.left=m===R&&!!k.left)&&f(H,M,O),(o.top=n===R&&!!k.top)&&f(I,L,N),this.element.css(p).toggle(!(o.x&&o.y||j.x===P&&o.y||j.y===P&&o.x)),d.left-=g.left.charAt?g.user:m!==R||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==R||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find("*").remove().end().remove()}}),jb=S.tip=function(a){return new w(a,a.options.style.tip)},jb.initialize="render",jb.sanitize=function(a){if(a.style&&"tip"in a.style){var b=a.style.tip;"object"!=typeof b&&(b=a.style.tip={corner:b}),/string|boolean/i.test(typeof b.corner)||(b.corner=E)}},C.tip={"^position.my|style.tip.(corner|mimic|border)$":function(){this.create(),this.qtip.reposition()},"^style.tip.(height|width)$":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},"^content.title|style.(classes|widget)$":function(){this.update()}},d.extend(E,z.defaults,{style:{tip:{corner:E,mimic:F,width:6,height:6,border:E,offset:0}}});var yb,zb,Ab="qtip-modal",Bb="."+Ab;zb=function(){function a(a){if(d.expr[":"].focusable)return d.expr[":"].focusable;var b,c,e,f=!isNaN(d.attr(a,"tabindex")),g=a.nodeName&&a.nodeName.toLowerCase();return"area"===g?(b=a.parentNode,c=b.name,a.href&&c&&"map"===b.nodeName.toLowerCase()?(e=d("img[usemap=#"+c+"]")[0],!!e&&e.is(":visible")):!1):/input|select|textarea|button|object/.test(g)?!a.disabled:"a"===g?a.href||f:f}function c(a){k.length<1&&a.length?a.not("body").blur():k.first().focus()}function e(a){if(i.is(":visible")){var b,e=d(a.target),h=f.tooltip,j=e.closest(X);b=j.length<1?F:parseInt(j[0].style.zIndex,10)>parseInt(h[0].style.zIndex,10),b||e.closest(X)[0]===h[0]||c(e),g=a.target===k[k.length-1]}}var f,g,h,i,j=this,k={};d.extend(j,{init:function(){return i=j.elem=d("
",{id:"qtip-overlay",html:"
",mousedown:function(){return F}}).hide(),d(b.body).bind("focusin"+Bb,e),d(b).bind("keydown"+Bb,function(a){f&&f.options.show.modal.escape&&27===a.keyCode&&f.hide(a)}),i.bind("click"+Bb,function(a){f&&f.options.show.modal.blur&&f.hide(a)}),j},update:function(b){f=b,k=b.options.show.modal.stealfocus!==F?b.tooltip.find("*").filter(function(){return a(this)}):[]},toggle:function(a,e,g){var k=(d(b.body),a.tooltip),l=a.options.show.modal,m=l.effect,n=e?"show":"hide",o=i.is(":visible"),p=d(Bb).filter(":visible:not(:animated)").not(k);return j.update(a),e&&l.stealfocus!==F&&c(d(":focus")),i.toggleClass("blurs",l.blur),e&&i.appendTo(b.body),i.is(":animated")&&o===e&&h!==F||!e&&p.length?j:(i.stop(E,F),d.isFunction(m)?m.call(i,e):m===F?i[n]():i.fadeTo(parseInt(g,10)||90,e?1:0,function(){e||i.hide()}),e||i.queue(function(a){i.css({left:"",top:""}),d(Bb).length||i.detach(),a()}),h=e,f.destroyed&&(f=G),j)}}),j.init()},zb=new zb,d.extend(x.prototype,{init:function(a){var b=a.tooltip;return this.options.on?(a.elements.overlay=zb.elem,b.addClass(Ab).css("z-index",z.modal_zindex+d(Bb).length),a._bind(b,["tooltipshow","tooltiphide"],function(a,c,e){var f=a.originalEvent;if(a.target===b[0])if(f&&"tooltiphide"===a.type&&/mouse(leave|enter)/.test(f.type)&&d(f.relatedTarget).closest(zb.elem[0]).length)try{a.preventDefault()}catch(g){}else(!f||f&&"tooltipsolo"!==f.type)&&this.toggle(a,"tooltipshow"===a.type,e)},this._ns,this),a._bind(b,"tooltipfocus",function(a,c){if(!a.isDefaultPrevented()&&a.target===b[0]){var e=d(Bb),f=z.modal_zindex+e.length,g=parseInt(b[0].style.zIndex,10);zb.elem[0].style.zIndex=f-1,e.each(function(){this.style.zIndex>g&&(this.style.zIndex-=1)}),e.filter("."+_).qtip("blur",a.originalEvent),b.addClass(_)[0].style.zIndex=f,zb.update(c);try{a.preventDefault()}catch(h){}}},this._ns,this),void a._bind(b,"tooltiphide",function(a){a.target===b[0]&&d(Bb).filter(":visible").not(b).last().qtip("focus",a)},this._ns,this)):this},toggle:function(a,b,c){return a&&a.isDefaultPrevented()?this:void zb.toggle(this.qtip,!!b,c)},destroy:function(){this.qtip.tooltip.removeClass(Ab),this.qtip._unbind(this.qtip.tooltip,this._ns),zb.toggle(this.qtip,F),delete this.qtip.elements.overlay}}),yb=S.modal=function(a){return new x(a,a.options.show.modal)},yb.sanitize=function(a){a.show&&("object"!=typeof a.show.modal?a.show.modal={on:!!a.show.modal}:"undefined"==typeof a.show.modal.on&&(a.show.modal.on=E))},z.modal_zindex=z.zindex-200,yb.initialize="render",C.modal={"^show.modal.(on|blur)$":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},d.extend(E,z.defaults,{show:{modal:{on:F,effect:E,blur:E,stealfocus:E,escape:E}}}),S.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],m=v[a],t=w[a],u=c===R,x=m===f?j:m===g?-j:-j/2,y=t===f?i:t===g?-i:-i/2,z=r[f]+s[f]-(o?0:n[f]),A=z-k,B=k+j-(h===J?p:q)-z,C=x-(v.precedance===a||m===v[b]?y:0)-(t===P?i/2:0);return u?(C=(m===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-n[f]+s[f],k-C,Math.min(Math.max(-n[f]+s[f]+(h===J?p:q),k+C),d[f],"center"===m?k-x:1e9))):(e*=c===Q?2:0,A>0&&(m!==f||B>0)?(d[f]-=C+e,l.invert(a,f)):B>0&&(m!==g||A>0)&&(d[f]-=(m===P?-C:C)+e,l.invert(a,g)),d[f]B&&(d[f]=k,l=v.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s,t=e.target,u=c.elements.tooltip,v=e.my,w=e.at,x=e.adjust,y=x.method.split(" "),z=y[0],A=y[1]||y[0],B=e.viewport,C=e.container,D=c.cache,E={left:0,top:0};return B.jquery&&t[0]!==a&&t[0]!==b.body&&"none"!==x.method?(n=C.offset()||E,o="static"===C.css("position"),k="fixed"===u.css("position"),p=B[0]===a?B.width():B.outerWidth(F),q=B[0]===a?B.height():B.outerHeight(F),r={left:k?0:B.scrollLeft(),top:k?0:B.scrollTop()},s=B.offset()||E,("shift"!==z||"shift"!==A)&&(l=v.clone()),E={left:"none"!==z?j(H,I,z,x.x,M,O,J,f,h):0,top:"none"!==A?j(I,H,A,x.y,L,N,K,g,i):0},l&&D.lastClass!==(m=T+"-pos-"+l.abbrev())&&u.removeClass(c.cache.lastClass).addClass(c.cache.lastClass=m),E):E},S.polys={polygon:function(a,b){var c,d,e,f={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:F},g=0,h=[],i=1,j=1,k=0,l=0;for(g=a.length;g--;)c=[parseInt(a[--g],10),parseInt(a[g+1],10)],c[0]>f.position.right&&(f.position.right=c[0]),c[0]f.position.bottom&&(f.position.bottom=c[1]),c[1]0&&e>0&&i>0&&j>0;)for(d=Math.floor(d/2),e=Math.floor(e/2),b.x===M?i=d:b.x===O?i=f.width-d:i+=Math.floor(d/2),b.y===L?j=e:b.y===N?j=f.height-e:j+=Math.floor(e/2),g=h.length;g--&&!(h.length<2);)k=h[g][0]-f.position.left,l=h[g][1]-f.position.top,(b.x===M&&k>=i||b.x===O&&i>=k||b.x===P&&(i>k||k>f.width-i)||b.y===L&&l>=j||b.y===N&&j>=l||b.y===P&&(j>l||l>f.height-j))&&h.splice(g,1);f.position={left:h[0][0],top:h[0][1]}}return f},rect:function(a,b,c,d){return{width:Math.abs(c-a),height:Math.abs(d-b),position:{left:Math.min(a,c),top:Math.min(b,d)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(a,b,c,d,e){var f=S.polys._angles[e.abbrev()],g=0===f?0:c*Math.cos(f*Math.PI),h=d*Math.sin(f*Math.PI);return{width:2*c-Math.abs(g),height:2*d-Math.abs(h),position:{left:a+g,top:b+h},adjustable:F}},circle:function(a,b,c,d){return S.polys.ellipse(a,b,c,c,d)}},S.svg=function(a,c,e){for(var f,g,h,i,j,k,l,m,n,o,p,q=d(b),r=c[0],s=d(r.ownerSVGElement),t=1,u=1,v=!0;!r.getBBox;)r=r.parentNode;if(!r.getBBox||!r.parentNode)return F;f=s.attr("width")||s.width()||parseInt(s.css("width"),10),g=s.attr("height")||s.height()||parseInt(s.css("height"),10);var w=(parseInt(c.css("stroke-width"),10)||0)/2;switch(w&&(t+=w/f,u+=w/g),r.nodeName){case"ellipse":case"circle":o=S.polys.ellipse(r.cx.baseVal.value,r.cy.baseVal.value,(r.rx||r.r).baseVal.value+w,(r.ry||r.r).baseVal.value+w,e);break;case"line":case"polygon":case"polyline":for(n=r.points||[{x:r.x1.baseVal.value,y:r.y1.baseVal.value},{x:r.x2.baseVal.value,y:r.y2.baseVal.value}],o=[],m=-1,k=n.numberOfItems||n.length;++m';d.extend(y.prototype,{_scroll:function(){var b=this.qtip.elements.overlay;b&&(b[0].style.top=d(a).scrollTop()+"px")},init:function(c){var e=c.tooltip;d("select, object").length<1&&(this.bgiframe=c.elements.bgiframe=d(Db).appendTo(e),c._bind(e,"tooltipmove",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=d("
",{id:T+"-rcontainer"}).appendTo(b.body),c.elements.overlay&&c.elements.overlay.addClass("qtipmodal-ie6fix")&&(c._bind(a,["scroll","resize"],this._scroll,this._ns,this),c._bind(e,["tooltipshow"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var a,b,c=this.qtip.tooltip,d={height:c.outerHeight(F),width:c.outerWidth(F)},e=this.qtip.plugins.tip,f=this.qtip.elements.tip;b=parseInt(c.css("borderLeftWidth"),10)||0,b={left:-b,top:-b},e&&f&&(a="x"===e.corner.precedance?[J,M]:[K,L],b[a[1]]-=f[a[0]]()),this.bgiframe.css(b).css(d)},redraw:function(){if(this.qtip.rendered<1||this.drawing)return this;var a,b,c,d,e=this.qtip.tooltip,f=this.qtip.options.style,g=this.qtip.options.position.container;return this.qtip.drawing=1,f.height&&e.css(K,f.height),f.width?e.css(J,f.width):(e.css(J,"").appendTo(this.redrawContainer),b=e.width(),1>b%2&&(b+=1),c=e.css("maxWidth")||"",d=e.css("minWidth")||"",a=(c+d).indexOf("%")>-1?g.width()/100:0,c=(c.indexOf("%")>-1?a:1)*parseInt(c,10)||b,d=(d.indexOf("%")>-1?a:1)*parseInt(d,10)||0,b=c+d?Math.min(Math.max(b,d),c):b,e.css(J,Math.round(b)).appendTo(g)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([a,this.qtip.tooltip],this._ns)}}),Cb=S.ie6=function(a){return 6===eb.ie?new y(a):F},Cb.initialize="render",C.ie6={"^content|style$":function(){this.redraw()}}})}(window,document),function(a){a.fn.typeWatch=function(b){function c(b,c){var d=a(b.el).val();(d.length>=f.captureLength&&d.toUpperCase()!=b.text||c&&d.length>=f.captureLength)&&(b.text=d.toUpperCase(),b.cb.call(b.el,d))}function d(b){var d=b.type.toUpperCase();if(a.inArray(d,f.inputTypes)>=0){var e={timer:null,text:a(b).val().toUpperCase(),cb:f.callback,el:b,wait:f.wait};f.highlight&&a(b).focus(function(){this.select()});var g=function(b){var d=e.wait,g=!1,h=this.type.toUpperCase();"undefined"!=typeof b.keyCode&&13==b.keyCode&&"TEXTAREA"!=h&&a.inArray(h,f.inputTypes)>=0&&(d=1,g=!0);var i=function(){c(e,g)};clearTimeout(e.timer),e.timer=setTimeout(i,d)};a(b).on("keydown paste cut input",g)}}var e=["TEXT","TEXTAREA","PASSWORD","TEL","SEARCH","URL","EMAIL","DATETIME","DATE","MONTH","WEEK","TIME","DATETIME-LOCAL","NUMBER","RANGE"],f=a.extend({wait:750,callback:function(){},highlight:!0,captureLength:2,inputTypes:e},b);return this.each(function(){d(this)})}}(jQuery),function(a){a.fn.serializeForm=function(){if(this.length<1)return!1;var b={},c=b,d=':input[type!="checkbox"][type!="radio"], input:checked',e=function(){if(!this.disabled){var d=this.name.replace(/\[([^\]]+)?\]/g,",$1").split(","),e=d.length-1,f=a(this);if(d[0]){for(var g=0;e>g;g++)c=c[d[g]]=c[d[g]]||(""===d[g+1]||"0"===d[g+1]?[]:{});void 0!==c.length?c.push(f.val()):c[d[e]]=f.val(),c=b}}};return this.filter(d).each(e),this.find(d).each(e),b}}(jQuery),function(a){function b(){var a="!@#$%^&*()+=[]\\';,/{}|\":<>?~`.-_";return a+=" "}function c(){var a="¬€£¦";return a}function d(b,c,d){b.each(function(){var b=a(this);b.bind("keyup change paste",function(a){var e="";a.originalEvent&&a.originalEvent.clipboardData&&a.originalEvent.clipboardData.getData&&(e=a.originalEvent.clipboardData.getData("text/plain")),setTimeout(function(){h(b,c,d,e)},0)}),b.bind("keypress",function(a){var e=a.charCode?a.charCode:a.which;if(!(g(e)||a.ctrlKey||a.metaKey)){var f=String.fromCharCode(e),h=b.selection(),i=h.start,j=h.end,k=b.val(),l=k.substring(0,i)+f+k.substring(j),m=c(l,d);m!=l&&a.preventDefault()}})})}function e(b,c){var d=parseFloat(a(b).val()),e=a(b);return isNaN(d)?void e.val(""):(f(c.min)&&dc.max&&e.val("")))}function f(a){return!isNaN(a)}function g(a){return a>=32?!1:10==a?!1:13==a?!1:!0}function h(a,b,c,d){var e=a.val();""==e&&d.length>0&&(e=d);var f=b(e,c);if(e!=f){var g=a.alphanum_caret();a.val(f),a.alphanum_caret(e.length==f.length+1?g-1:g)}}function i(b,c){"undefined"==typeof c&&(c=D);var d,e={};return d="string"==typeof b?F[b]:"undefined"==typeof b?{}:b,a.extend(e,c,d),"undefined"==typeof e.blacklist&&(e.blacklistSet=x(e.allow,e.disallow)),e}function j(b){var c,d={};return c="string"==typeof b?G[b]:"undefined"==typeof b?{}:b,a.extend(d,E,c),d}function k(a,b,c){return c.maxLength&&a.length>=c.maxLength?!1:c.allow.indexOf(b)>=0?!0:c.allowSpace&&" "==b?!0:c.blacklistSet.contains(b)?!1:!c.allowNumeric&&K[b]?!1:!c.allowUpper&&u(b)?!1:!c.allowLower&&v(b)?!1:!c.allowCaseless&&w(b)?!1:!c.allowLatin&&L.contains(b)?!1:c.allowOtherCharSets?!0:K[b]||L.contains(b)?!0:!1}function l(a,b,c){if(K[b])return n(a,c)?!1:p(a,c)?!1:o(a,c)?!1:q(a+b,c)?!1:r(a+b,c)?!1:!0;if(c.allowPlus&&"+"==b&&""==a)return!0;if(c.allowMinus&&"-"==b&&""==a)return!0;if(b==I&&c.allowThouSep&&A(a,b))return!0;if(b==J){if(a.indexOf(J)>=0)return!1;if(c.allowDecSep)return!0}return!1}function m(a){return a+="",a.replace(/[^0-9]/g,"").length}function n(a,b){var c=b.maxDigits;if(""==c||isNaN(c))return!1;var d=m(a);return d>=c?!0:!1}function o(a,b){var c=b.maxDecimalPlaces;if(""==c||isNaN(c))return!1;var d=a.indexOf(J);if(-1==d)return!1;var e=a.substring(d),f=m(e);return f>=c?!0:!1}function p(a,b){var c=b.maxPreDecimalPlaces;if(""==c||isNaN(c))return!1;var d=a.indexOf(J);if(d>=0)return!1;var e=m(a);return e>=c?!0:!1}function q(a,b){if(!b.max||b.max<0)return!1;var c=parseFloat(a);return c>b.max?!0:!1}function r(a,b){if(!b.min||b.min>0)return!1;var c=parseFloat(a);return c=0)return!1;var c=a.indexOf(I);if(0>c)return!0;var d=a.lastIndexOf(I),e=a.length-d-1;if(3>e)return!1;var f=m(a.substring(c));return f%3>0?!1:!0}function B(a){this.map="string"==typeof a?C(a):{}}function C(a){var b,c={},d=a.split(""),e=0;for(e=0;e=0?d.toString().length:startPos+c.toString().length,{start:startPos,end:endPos}):null},d=function(d){var e=b(d);if(void 0!==d.selectionStart)return document.activeElement&&document.activeElement!=d&&d.selectionStart==d.selectionEnd&&0==d.selectionStart?{start:d.value.length,end:d.value.length}:{start:d.selectionStart,end:d.selectionEnd};if(e.getSelection)return c(d,e);try{if("input"==d.nodeName.toLowerCase()){var f=b(d).document.selection.createRange(),g=d.createTextRange();g.setEndPoint("EndToStart",f);var h=g.text.length;return{start:h,end:h+f.text.length}}var i=c(d,e);if(!i)return i;var j=a.Range.current().clone(),k=j.clone().collapse().range,l=j.clone().collapse(!1).range;return k.moveStart("character",-1),l.moveStart("character",-1),0!=i.startPos&&""==k.text&&(i.startPos+=2),0!=i.endPos&&""==l.text&&(i.endPos+=2),i}catch(m){return{start:d.value.length,end:d.value.length}}},e=function(a,c,d){var e=b(a);if(a.setSelectionRange)void 0===d?(a.focus(),a.setSelectionRange(c,c)):(a.select(),a.selectionStart=c,a.selectionEnd=d);else if(a.createTextRange){var f=a.createTextRange();f.moveStart("character",c),d=d||c,f.moveEnd("character",d-a.value.length),f.select()}else if(e.getSelection){var h=e.document,i=e.getSelection(),j=h.createRange(),k=[c,void 0!==d?d:c];g([a],k),j.setStart(k[0].el,k[0].count),j.setEnd(k[1].el,k[1].count),i.removeAllRanges(),i.addRange(j)}else if(e.document.body.createTextRange){var j=document.body.createTextRange();j.moveToElementText(a),j.collapse(),j.moveStart("character",c),j.moveEnd("character",void 0!==d?d:c),j.select()}},f=function(a,b,c,d){"number"==typeof c[0]&&c[0]d.right||c.bottomd.bottom)}},a.redux.hideFields(),a.redux.checkRequired(),a.redux.initEvents(),a.redux.initQtip(),a.redux.tabCheck(),a.redux.notices(),a.redux.tabControl(),a.redux.devFunctions()}),a.redux.ajax_save=function(b){var c=a(document.getElementById("redux_ajax_overlay"));c.fadeIn(),jQuery(".redux-action_bar .spinner").show(),jQuery(".redux-action_bar input").attr("disabled","disabled");var d=jQuery(document.getElementById("redux_notification_bar"));d.slideUp(),jQuery(".redux-save-warn").slideUp(),jQuery(".redux_ajax_save_error").slideUp("medium",function(){jQuery(this).remove()});var e=jQuery(document.getElementById("redux-form-wrapper"));redux.fields.hasOwnProperty("editor")&&a.each(redux.fields.editor,function(a){var b=tinyMCE.get(a);b&&b.save()});var f=e.serialize();e.find("input[type=checkbox]").each(function(){if("undefined"!=typeof a(this).attr("name")){var b=a(this).is(":checked")?a(this).val():"0";f+="&"+a(this).attr("name")+"="+b}}),"redux_save"!=b.attr("name")&&(f+="&"+b.attr("name")+"="+b.val());var g=e.attr("data-nonce");return jQuery.ajax({type:"post",dataType:"json",url:ajaxurl,data:{action:redux.args.opt_name+"_ajax_save",nonce:g,opt_name:redux.args.opt_name,data:f},error:function(a){window.console||(console={}),console.log=console.log||function(){},console.log(redux.ajax.console),console.log(a.responseText),jQuery(".redux-action_bar input").removeAttr("disabled"),c.fadeOut("fast"),jQuery(".redux-action_bar .spinner").fadeOut("fast"),alert(redux.ajax.alert)},success:function(b){if(b.action&&"reload"==b.action)location.reload(!0);else if("success"==b.status){jQuery(".redux-action_bar input").removeAttr("disabled"),c.fadeOut("fast"),jQuery(".redux-action_bar .spinner").fadeOut("fast"),redux.options=b.options,redux.errors=b.errors,redux.warnings=b.warnings,d.html(b.notification_bar).slideDown("fast"),(null!==b.errors||null!==b.warnings)&&a.redux.notices();var e=a(document.getElementById("redux_notification_bar")).find(".saved_notice");e.slideDown(),e.delay(4e3).slideUp()}else jQuery(".redux-action_bar input").removeAttr("disabled"),jQuery(".redux-action_bar .spinner").fadeOut("fast"),c.fadeOut("fast"),jQuery(".wrap h2:first").parent().append('"),jQuery(".redux_ajax_save_error").slideDown(),jQuery("html, body").animate({scrollTop:0},"slow")}}),!1},a.redux.initEvents=function(){a(".redux-presets-bar").on("click",function(){window.onbeforeunload=null}),a("#toplevel_page_"+redux.args.slug+" .wp-submenu a, #wp-admin-bar-"+redux.args.slug+" a.ab-item").click(function(b){if((a("#toplevel_page_"+redux.args.slug).hasClass("wp-menu-open")||a(this).hasClass("ab-item"))&&!a(this).parents("ul.ab-submenu:first").hasClass("ab-sub-secondary")&&a(this).attr("href").toLowerCase().indexOf(redux.args.slug+"&tab=")>=0){b.preventDefault();var c=a(this).attr("href").split("&tab=");return a("#"+c[1]+"_section_group_li_a").click(),a(this).parents("ul:first").find(".current").removeClass("current"),a(this).addClass("current"),a(this).parent().addClass("current"),!1}}),a(".redux-action_bar input").on("click",function(b){if(a(this).attr("name")==redux.args.opt_name+"[defaults]"){if(!confirm(redux.args.reset_confirm))return!1}else if(a(this).attr("name")==redux.args.opt_name+"[defaults-section]"&&!confirm(redux.args.reset_section_confirm))return!1; +window.onbeforeunload=null,redux.args.ajax_save===!0&&(a.redux.ajax_save(a(this)),b.preventDefault())}),a(".expand_options").click(function(b){b.preventDefault();var c=a(".redux-container");if(a(c).hasClass("fully-expanded")){a(c).removeClass("fully-expanded");var d=a.cookie("redux_current_tab");a(".redux-container:first").find("#"+d+"_section_group").fadeIn(200,function(){0!==a(".redux-container:first").find("#redux-footer").length&&a.redux.stickyInfo(),a.redux.initFields()})}return a.redux.expandOptions(a(this).parents(".redux-container:first")),!1}),a(".saved_notice").is(":visible")&&a(".saved_notice").slideDown(),a(document.body).on("change",".redux-field input, .redux-field textarea, .redux-field select",function(){a(this).hasClass("noUpdate")||redux_change(a(this))});var b=a("#redux-footer").height();a("#redux-sticky-padder").css({height:b}),a("#redux-footer-sticky").removeClass("hide"),0!==a("#redux-footer").length&&(a(window).scroll(function(){a.redux.stickyInfo()}),a(window).resize(function(){a.redux.stickyInfo()})),a(".saved_notice").delay(4e3).slideUp()},a.redux.hideFields=function(){a("label[for='redux_hide_field']").each(function(){var b=a(this).parent().parent();a(b).addClass("hidden")})},a.redux.checkRequired=function(){a.redux.required(),a("body").on("change",".redux-main select, .redux-main radio, .redux-main input[type=checkbox], .redux-main input[type=hidden]",function(){a.redux.check_dependencies(this)}),a("body").on("check_dependencies",function(b,c){a.redux.check_dependencies(c)}),a("td > fieldset:empty,td > div:empty").parent().parent().hide()},a.redux.initQtip=function(){if(a().qtip){var b="",c=redux.args.hints.tip_style.shadow;c===!0&&(b="qtip-shadow");var d="",e=redux.args.hints.tip_style.color;""!==e&&(d="qtip-"+e);var f="",g=redux.args.hints.tip_style.rounded;g===!0&&(f="qtip-rounded");var h="",i=redux.args.hints.tip_style.style;""!==i&&(h="qtip-"+i);var j=b+","+d+","+f+","+h;j=j.replace(/,/g," ");var k=redux.args.hints.tip_position.my,l=redux.args.hints.tip_position.at;k=a.redux.verifyPos(k.toLowerCase(),!0),l=a.redux.verifyPos(l.toLowerCase(),!1);var m=redux.args.hints.tip_effect.show.event,n=redux.args.hints.tip_effect.hide.event,o=redux.args.hints.tip_effect.show.effect,p=redux.args.hints.tip_effect.show.duration,q=redux.args.hints.tip_effect.hide.effect,r=redux.args.hints.tip_effect.hide.duration;a("div.redux-dev-qtip").each(function(){a(this).qtip({content:{text:a(this).attr("qtip-content"),title:a(this).attr("qtip-title")},show:{effect:function(){a(this).slideDown(500)},event:"mouseover"},hide:{effect:function(){a(this).slideUp(500)},event:"mouseleave"},style:{classes:"qtip-shadow qtip-light"},position:{my:"top center",at:"bottom center"}})}),a("div.redux-hint-qtip").each(function(){a(this).qtip({content:{text:a(this).attr("qtip-content"),title:a(this).attr("qtip-title")},show:{effect:function(){switch(o){case"slide":a(this).slideDown(p);break;case"fade":a(this).fadeIn(p);break;default:a(this).show()}},event:m},hide:{effect:function(){switch(q){case"slide":a(this).slideUp(r);break;case"fade":a(this).fadeOut(r);break;default:a(this).show(r)}},event:n},style:{classes:j},position:{my:k,at:l}})}),a("input[qtip-content]").each(function(){a(this).qtip({content:{text:a(this).attr("qtip-content"),title:a(this).attr("qtip-title")},show:"focus",hide:"blur",style:j,position:{my:k,at:l}})})}},a.redux.tabCheck=function(){a(".redux-group-tab-link-a").click(function(){var b=a(this);if(b.parent().hasClass("empty_section")&&b.parent().hasClass("hasSubSections")){var c=a(this).closest("ul").find(".redux-group-tab-link-a"),d=c.index(this);b=c.slice(d+1,d+2)}var e=b.parents(".redux-container:first"),f=b.data("rel"),g=e.find(".redux-group-tab-link-li.active:first .redux-group-tab-link-a").data("rel");if(g!==f){if(a("#currentSection").val(f),b.parents(".postbox-container:first").length||a.cookie("redux_current_tab",f,{expires:7,path:"/"}),e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").length){var h=e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").attr("id").split("_");h=h[0]}if(e.find("#toplevel_page_"+redux.args.slug+" .wp-submenu a.current").removeClass("current"),e.find("#toplevel_page_"+redux.args.slug+" .wp-submenu li.current").removeClass("current"),e.find("#toplevel_page_"+redux.args.slug+" .wp-submenu a").each(function(){var b=a(this).attr("href").split("&tab=");(b[1]==f||b[1]==h)&&(a(this).addClass("current"),a(this).parent().addClass("current"))}),e.find("#"+g+"_section_group_li").find("#"+g+"_section_group_li").length)e.find("#"+g+"_section_group_li").addClass("activeChild"),e.find("#"+f+"_section_group_li").addClass("active").removeClass("activeChild");else if(e.find("#"+f+"_section_group_li").parents("#"+g+"_section_group_li").length||e.find("#"+g+"_section_group_li").parents("ul.subsection").find("#"+f+"_section_group_li").length)e.find("#"+f+"_section_group_li").parents("#"+g+"_section_group_li").length?e.find("#"+g+"_section_group_li").addClass("activeChild").removeClass("active"):(e.find("#"+f+"_section_group_li").addClass("active"),e.find("#"+g+"_section_group_li").removeClass("active")),e.find("#"+f+"_section_group_li").removeClass("activeChild").addClass("active");else if(e.find("#"+f+"_section_group_li").addClass("active").removeClass("activeChild").find("ul.subsection").slideDown(),e.find("#"+g+"_section_group_li").find("ul.subsection").length){e.find("#"+g+"_section_group_li").find("ul.subsection").slideUp("fast",function(){e.find("#"+g+"_section_group_li").removeClass("active").removeClass("activeChild")});var i=e.find("#"+f+"_section_group_li").parents(".hasSubSections:first");i.length>0&&(e.find("#"+f+"_section_group_li").removeClass("active"),f=i.find(".redux-group-tab-link-a:first").data("rel"),i.hasClass("empty_section")?(i.find(".subsection li:first").addClass("active"),e.find("#"+f+"_section_group_li").removeClass("active").addClass("activeChild").find("ul.subsection").slideDown(),i=i.find(".subsection li:first"),f=i.find(".redux-group-tab-link-a:first").data("rel")):e.find("#"+f+"_section_group_li").addClass("active").removeClass("activeChild").find("ul.subsection").slideDown())}else e.find("#"+g+"_section_group_li").parents("ul.subsection").length?e.find("#"+g+"_section_group_li").parents("#"+f+"_section_group_li").length?e.find("#"+g+"_section_group_li").removeClass("active"):e.find("#"+g+"_section_group_li").parents("ul.subsection").slideUp("fast",function(){e.find("#"+g+"_section_group_li").removeClass("active"),e.find("#"+g+"_section_group_li").parents(".redux-group-tab-link-li").removeClass("active").removeClass("activeChild"),e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").addClass("activeChild").find("ul.subsection").slideDown(),e.find("#"+f+"_section_group_li").addClass("active")}):(e.find("#"+g+"_section_group_li").removeClass("active"),e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").length&&(e.find("#"+f+"_section_group_li").parents(".redux-group-tab-link-li").addClass("activeChild").find("ul.subsection").slideDown(),e.find("#"+f+"_section_group_li").addClass("active")));e.find("#"+g+"_section_group").hide(),e.find("#"+f+"_section_group").fadeIn(200,function(){0!==e.find("#redux-footer").length&&a.redux.stickyInfo(),a.redux.initFields()}),a("#toplevel_page_"+redux.args.slug).find(".current").removeClass("current")}});var b=decodeURI((new RegExp("tab=(.+?)(&|$)").exec(location.search)||[,""])[1]);""!==b?a.cookie("redux_current_tab_get")!==b&&(a.cookie("redux_current_tab",b,{expires:7,path:"/"}),a.cookie("redux_current_tab_get",b,{expires:7,path:"/"}),a("#"+b+"_section_group_li").click()):""!==a.cookie("redux_current_tab_get")&&a.removeCookie("redux_current_tab_get");var c=a("#"+a.cookie("redux_current_tab")+"_section_group_li_a");null===a.cookie("redux_current_tab")||"undefined"==typeof a.cookie("redux_current_tab")||0===c.length?a(".redux-container").find(".redux-group-tab-link-a:first").click():c.click()},a.redux.initFields=function(){a(".redux-group-tab:visible").find(".redux-field-init:visible").each(function(){var b=a(this).attr("data-type");if("undefined"!=typeof redux.field_objects&&redux.field_objects[b]&&redux.field_objects[b]&&redux.field_objects[b].init(),a(this).hasClass("redux_remove_th")){var c=a(this).parents("tr:first"),d=c.find("th:first");a(this).prepend(d.html()),a(this).find(".redux_field_th").css("padding","0 0 10px 0"),a(this).parent().attr("colspan","2"),d.remove()}})},a.redux.notices=function(){redux.errors&&redux.errors.errors&&(a.each(redux.errors.errors,function(b,c){a.each(c.errors,function(b,c){a("#"+redux.args.opt_name+"-"+c.id).addClass("redux-field-error"),0===a("#"+redux.args.opt_name+"-"+c.id).parent().find(".redux-th-error").length?a("#"+redux.args.opt_name+"-"+c.id).append('
'+c.msg+"
"):a("#"+redux.args.opt_name+"-"+c.id).parent().find(".redux-th-error").html(c.msg).css("display","block")})}),a(".redux-container").each(function(){var b=a(this);b.find(".redux-menu-error").remove();var c=b.find(".redux-field-error").length;c>0&&(b.find(".redux-field-errors span").text(c),b.find(".redux-field-errors").slideDown(),b.find(".redux-group-tab").each(function(){var c=a(this).find(".redux-field-error").length;if(c>0){var d=a(this).attr("id").split("_");d=d[0],b.find('.redux-group-tab-link-a[data-key="'+d+'"]').prepend(''+c+""),b.find('.redux-group-tab-link-a[data-key="'+d+'"]').addClass("hasError");var e=b.find('.redux-group-tab-link-a[data-key="'+d+'"]').parents(".hasSubSections:first");e&&e.find(".redux-group-tab-link-a:first").addClass("hasError")}}))})),redux.warnings&&redux.warnings.warnings&&(a.each(redux.warnings.warnings,function(b,c){a.each(c.warnings,function(b,c){a("#"+redux.args.opt_name+"-"+c.id).addClass("redux-field-warning"),0===a("#"+redux.args.opt_name+"-"+c.id).parent().find(".redux-th-warning").length?a("#"+redux.args.opt_name+"-"+c.id).append('
'+c.msg+"
"):a("#"+redux.args.opt_name+"-"+c.id).parent().find(".redux-th-warning").html(c.msg).css("display","block")})}),a(".redux-container").each(function(){var b=a(this);b.find(".redux-menu-warning").remove();var c=b.find(".redux-field-warning").length;c>0&&(b.find(".redux-field-warnings span").text(c),b.find(".redux-field-warnings").slideDown(),b.find(".redux-group-tab").each(function(){var c=a(this).find(".redux-field-warning").length;if(c>0){var d=a(this).attr("id").split("_");d=d[0],b.find('.redux-group-tab-link-a[data-key="'+d+'"]').prepend(''+c+""),b.find('.redux-group-tab-link-a[data-key="'+d+'"]').addClass("hasWarning");var e=b.find('.redux-group-tab-link-a[data-key="'+d+'"]').parents(".hasSubSections:first");e&&e.find(".redux-group-tab-link-a:first").addClass("hasWarning")}}))}))},a.redux.tabControl=function(){a(".redux-section-tabs div").hide(),a(".redux-section-tabs div:first").show(),a(".redux-section-tabs ul li:first").addClass("active"),a(".redux-section-tabs ul li a").click(function(){a(".redux-section-tabs ul li").removeClass("active"),a(this).parent().addClass("active");var b=a(this).attr("href");return a(".redux-section-tabs div").hide(),a(b).fadeIn("medium",function(){a.redux.initFields()}),!1})},a.redux.devFunctions=function(){a("#consolePrintObject").on("click",function(b){b.preventDefault(),console.log(a.parseJSON(a("#redux-object-json").html()))}),"function"==typeof jsonView&&jsonView("#redux-object-json","#redux-object-browser")},a.redux.required=function(){a.each(redux.folds,function(b,c){var d=a("#"+redux.args.opt_name+"-"+b);if(d.parents("tr:first").addClass("fold"),"hide"==c){if(d.parents("tr:first").addClass("hide"),d.hasClass("redux-container-section")){var e=a("#section-"+b);e.hasClass("redux-section-indent-start")&&(a("#section-table-"+b).hide().addClass("hide"),e.hide().addClass("hide"))}if(d.hasClass("redux-container-info")&&a("#info-"+b).hide().addClass("hide"),d.hasClass("redux-container-divide")&&a("#divide-"+b).hide().addClass("hide"),d.hasClass("redux-container-raw")){var f=d.parents().find("table#"+redux.args.opt_name+"-"+b);f.hide().addClass("hide")}}})},a.redux.get_container_value=function(b){var c=a("#"+redux.args.opt_name+"-"+b).serializeForm();return null!==c&&"object"==typeof c&&c.hasOwnProperty(redux.args.opt_name)&&(c=c[redux.args.opt_name][b]),a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-media")&&(c=c.url),c},a.redux.check_dependencies=function(b){if(null!==redux.required){var c=a(b),d=c.parents(".redux-field:first").data("id");if(redux.required.hasOwnProperty(d)){var e=c.parents(".redux-field-container:first"),f=e.parents("tr:first").hasClass(".hide");a.each(redux.required[d],function(b){var c=a(this),d=!1,e=a("#"+redux.args.opt_name+"-"+b),g=e.parents("tr:first");if(f||(d=a.redux.check_parents_dependencies(b)),d===!0){if(e.hasClass("redux-container-section")){var h=a("#section-"+b);h.hasClass("redux-section-indent-start")&&h.hasClass("hide")&&(a("#section-table-"+b).fadeIn(300).removeClass("hide"),h.fadeIn(300).removeClass("hide"))}if(e.hasClass("redux-container-info")&&a("#info-"+b).fadeIn(300).removeClass("hide"),e.hasClass("redux-container-divide")&&a("#divide-"+b).fadeIn(300).removeClass("hide"),e.hasClass("redux-container-raw")){var i=e.parents().find("table#"+redux.args.opt_name+"-"+b);i.fadeIn(300).removeClass("hide")}g.fadeIn(300,function(){a(this).removeClass("hide"),redux.required.hasOwnProperty(b)&&a.redux.check_dependencies(a("#"+redux.args.opt_name+"-"+b).children().first()),a.redux.initFields()}),(e.hasClass("redux-container-section")||e.hasClass("redux-container-info"))&&g.css({display:"none"})}else d===!1&&g.fadeOut(100,function(){a(this).addClass("hide"),redux.required.hasOwnProperty(b)&&a.redux.required_recursive_hide(b)});c.find("select, radio, input[type=checkbox]").trigger("change")})}}},a.redux.required_recursive_hide=function(b){var c=a("#"+redux.args.opt_name+"-"+b).parents("tr:first");c.fadeOut(50,function(){if(a(this).addClass("hide"),a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-section")){var c=a("#section-"+b);c.hasClass("redux-section-indent-start")&&(a("#section-table-"+b).fadeOut(50).addClass("hide"),c.fadeOut(50).addClass("hide"))}if(a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-info")&&a("#info-"+b).fadeOut(50).addClass("hide"),a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-divide")&&a("#divide-"+b).fadeOut(50).addClass("hide"),a("#"+redux.args.opt_name+"-"+b).hasClass("redux-container-raw")){var d=a("#"+redux.args.opt_name+"-"+b).parents().find("table#"+redux.args.opt_name+"-"+b);d.fadeOut(50).addClass("hide")}redux.required.hasOwnProperty(b)&&a.each(redux.required[b],function(b){a.redux.required_recursive_hide(b)})})},a.redux.check_parents_dependencies=function(b){var c="";return redux.required_child.hasOwnProperty(b)?a.each(redux.required_child[b],function(b,d){if(a("#"+redux.args.opt_name+"-"+d.parent).parents("tr:first").hasClass(".hide"))c=!1;else if(c!==!1){var e=a.redux.get_container_value(d.parent);c=a.redux.check_dependencies_visibility(e,d)}}):c=!0,c},a.redux.check_dependencies_visibility=function(b,c){var d=!1,e=c.checkValue,f=c.operation;switch(f){case"=":case"equals":a.isArray(b)?a(b[0]).each(function(b,c){if(a.isArray(e))a(e).each(function(a,b){return c==b?(d=!0,!0):void 0});else if(c==e)return d=!0,!0}):a.isArray(e)?a(e).each(function(a,c){b==c&&(d=!0)}):b==e&&(d=!0);break;case"!=":case"not":a.isArray(b)?a(b[0]).each(function(b,c){if(a.isArray(e))a(e).each(function(a,b){return c!=b?(d=!0,!0):void 0});else if(c!=e)return d=!0,!0}):a.isArray(e)?a(e).each(function(a,c){b!=c&&(d=!0)}):b!=e&&(d=!0);break;case">":case"greater":case"is_larger":parseFloat(b)>parseFloat(e)&&(d=!0);break;case">=":case"greater_equal":case"is_larger_equal":parseFloat(b)>=parseFloat(e)&&(d=!0);break;case"<":case"less":case"is_smaller":parseFloat(b)g)&&(g=h,b.attr("data-height",g),b.css("width","auto"),b.attr("data-width",b.width()),f=b.width()),f>d?(e=d/f,b.css("width",d),b.css("height",g*e),g*=e,f*=e):b.css("width","auto"),g>c?(e=c/g,b.css("height",c),b.css("width",f*e),f*=e,g*=e):b.css("height","auto");var i=(a(document.getElementById("redux-header")).height()-b.height())/2;i>0?b.css("margin-top",i):b.css("margin-top",0),a("#redux-header .redux_field_search")&&a("#redux-header .redux_field_search").css("right",a(b).width()+20)},a.redux.resizeAds=function(){var b=a("#redux-header"),c=b.find(".rAds"),d=b.height(),e=b.width()-b.find(".display_header").width()-30;a(c).find("video").each(function(){a.redux.scaleToRatio(a(this),d,e)}),a(c).find("img").each(function(){a.redux.scaleToRatio(a(this),d,e)}),a(c).find("div").each(function(){a.redux.scaleToRatio(a(this),d,e)}),"-99999px"==c.css("left")&&c.css("display","none").css("left","auto"),c.fadeIn("slow")},a(document).ready(function(){redux.rAds&&setTimeout(function(){a("#redux-header").append('
');var b=a("#redux-header");b.css("position","relative"),b.find(".rAds").attr("style","position:absolute; top: 6px; right: 6px; display:block !important;overflow:hidden;").css("left","-99999px"),b.find(".rAds").html(redux.rAds.replace(//,""));{var c=b.find(".rAds");b.height(),b.width()-b.find(".display_header").width()-30}c.find("a").css("float","right").css("line-height",b.height()+"px").css("margin-left","5px"),a(document).ajaxComplete(function(){c.find("a").hide(),setTimeout(function(){a.redux.resizeAds(),c.find("a").fadeIn()},1400),setTimeout(function(){a.redux.resizeAds()},1500),a(document).unbind("ajaxComplete")}),a(window).resize(function(){a.redux.resizeAds()})},400)})}(jQuery),jQuery.noConflict();var confirmOnPageExit=function(a){a=a||window.event;var b=redux.args.save_pending;return a&&(a.returnValue=b),window.onbeforeunload=null,b}; \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.js b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.js index e7de8d60..896c1adc 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.js @@ -47,9 +47,15 @@ return undefined; } - var id = $(this).data('select2Data').id; + if($(this).data('select2Data') != undefined){ + var id = $(this).data('select2Data').id; + return $select.find('option[value="' + id + '"]')[0]; + } - return $select.find('option[value="' + id + '"]')[0]; + + //var id = $(this).data('select2Data').id; + + //return $select.find('option[value="' + id + '"]')[0]; })); sorted.push.apply(sorted, optArr); diff --git a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.min.js b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.min.js index 84bd75af..91a4968a 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.min.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/redux.select2.sortable.min.js @@ -1 +1 @@ -!function(a){a.fn.extend({select2SortableOrder:function(){var b=this.filter("[multiple]");return b.each(function(){var b=a(this);if("object"!=typeof b.data("select2"))return!1;var c,d=b.siblings(".select2-container"),e=[];b.find("optgroup").each(function(a,b){e.push(b)}),b.find("option").each(function(){var b=a(this).parent("optgroup").prop("label"),c=this;void 0===b&&(""===this.value||this.selected||e.push(c))}),c=a(d.find('.select2-choices li[class!="select2-search-field"]').map(function(){if(!this)return void 0;var c=a(this).data("select2Data").id;return b.find('option[value="'+c+'"]')[0]})),c.push.apply(c,e),b.children().remove(),b.append(c)}),b},select2Sortable:function(){var b=Array.prototype.slice.call(arguments,0);if($this=this.filter("[multiple]"),validMethods=["destroy"],0===b.length||"object"==typeof b[0]){var c={bindOrder:"formSubmit",sortableOptions:{placeholder:"ui-state-highlight",items:"li:not(.select2-search-field)",tolerance:"pointer"}},d=a.extend(c,b[0]);"object"!=typeof $this.data("select2")&&$this.select2(),$this.each(function(){var b=a(this),c=b.siblings(".select2-container").find(".select2-choices");switch(c.sortable(d.sortableOptions),d.bindOrder){case"sortableStop":c.on("sortstop.select2sortable",function(){b.select2SortableOrder()}),b.on("change",function(){a(this).select2SortableOrder()});break;default:b.closest("form").unbind("submit.select2sortable").on("submit.select2sortable",function(){b.select2SortableOrder()})}})}else{if(-1==a.inArray(b[0],validMethods))throw"Unknown method: "+b[0];"destroy"===b[0]&&$this.select2SortableDestroy()}return $this},select2SortableDestroy:function(){var b=this.filter("[multiple]");return b.each(function(){var b=a(this),c=b.parent().find(".select2-choices");b.closest("form").unbind("submit.select2sortable"),c.unbind("sortstop.select2sortable"),c.sortable("destroy")}),b}})}(jQuery); \ No newline at end of file +!function(a){a.fn.extend({select2SortableOrder:function(){var b=this.filter("[multiple]");return b.each(function(){var b=a(this);if("object"!=typeof b.data("select2"))return!1;var c,d=b.siblings(".select2-container"),e=[];b.find("optgroup").each(function(a,b){e.push(b)}),b.find("option").each(function(){var b=a(this).parent("optgroup").prop("label"),c=this;void 0===b&&(""===this.value||this.selected||e.push(c))}),c=a(d.find('.select2-choices li[class!="select2-search-field"]').map(function(){if(!this)return void 0;if(void 0!=a(this).data("select2Data")){var c=a(this).data("select2Data").id;return b.find('option[value="'+c+'"]')[0]}})),c.push.apply(c,e),b.children().remove(),b.append(c)}),b},select2Sortable:function(){var b=Array.prototype.slice.call(arguments,0);if($this=this.filter("[multiple]"),validMethods=["destroy"],0===b.length||"object"==typeof b[0]){var c={bindOrder:"formSubmit",sortableOptions:{placeholder:"ui-state-highlight",items:"li:not(.select2-search-field)",tolerance:"pointer"}},d=a.extend(c,b[0]);"object"!=typeof $this.data("select2")&&$this.select2(),$this.each(function(){var b=a(this),c=b.siblings(".select2-container").find(".select2-choices");switch(c.sortable(d.sortableOptions),d.bindOrder){case"sortableStop":c.on("sortstop.select2sortable",function(){b.select2SortableOrder()}),b.on("change",function(){a(this).select2SortableOrder()});break;default:b.closest("form").unbind("submit.select2sortable").on("submit.select2sortable",function(){b.select2SortableOrder()})}})}else{if(-1==a.inArray(b[0],validMethods))throw"Unknown method: "+b[0];"destroy"===b[0]&&$this.select2SortableDestroy()}return $this},select2SortableDestroy:function(){var b=this.filter("[multiple]");return b.each(function(){var b=a(this),c=b.parent().find(".select2-choices");b.closest("form").unbind("submit.select2sortable"),c.unbind("sortstop.select2sortable"),c.sortable("destroy")}),b}})}(jQuery); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/core/dashboard.php b/admin/core/lib/ReduxFramework/ReduxCore/core/dashboard.php new file mode 100644 index 00000000..b45a9d0e --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/core/dashboard.php @@ -0,0 +1,32 @@ +'; + wp_widget_rss_output(array( + 'url' => 'http://reduxframework.com/feed/', + 'title' => 'REDUX_NEWS', + 'items' => 3, + 'show_summary' => 1, + 'show_author' => 0, + 'show_date' => 1 + )); + echo '
'; + } + } + + new reduxDashboardWidget(); + } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php b/admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php index a21d200f..d9746b89 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/core/enqueue.php @@ -1,440 +1,456 @@ parent = $parent; + public function __construct( $parent ) { + $this->parent = $parent; - Redux_Functions::$_parent = $parent; - $this->min = Redux_Functions::isMin(); - - $this->timestamp = ReduxFramework::$_version; - if ($parent->args['dev_mode']) { - $this->timestamp .= '.' . time(); + Redux_Functions::$_parent = $parent; } - $this->register_styles(); - $this->register_scripts(); - - add_thickbox(); - - $this->enqueue_fields(); - - $this->set_localized_data(); - - /** - * action 'redux-enqueue-{opt_name}' - * - * @deprecated - * - * @param object $this ReduxFramework - */ - do_action( "redux-enqueue-{$parent->args['opt_name']}", $parent ); // REMOVE + public function init() { + $this->min = Redux_Functions::isMin(); - /** - * action 'redux/page/{opt_name}/enqueue' - */ - do_action( "redux/page/{$parent->args['opt_name']}/enqueue" ); - - } + $this->timestamp = ReduxFramework::$_version; + if ( $this->parent->args['dev_mode'] ) { + $this->timestamp .= '.' . time(); + } - private function register_styles(){ + $this->register_styles(); + $this->register_scripts(); - //***************************************************************** - // Redux Admin CSS - //***************************************************************** - wp_enqueue_style( - 'redux-admin-css', - ReduxFramework::$_url . 'assets/css/redux-admin.css', - array(), - $this->timestamp, - 'all' - ); + add_thickbox(); - //***************************************************************** - // Redux Fields CSS - //***************************************************************** - if (!$this->parent->args['dev_mode']) { + $this->enqueue_fields(); + + $this->set_localized_data(); + + /** + * action 'redux-enqueue-{opt_name}' + * + * @deprecated + * + * @param object $this ReduxFramework + */ + do_action( "redux-enqueue-{$this->parent->args['opt_name']}", $this->parent ); // REMOVE + + /** + * action 'redux/page/{opt_name}/enqueue' + */ + do_action( "redux/page/{$this->parent->args['opt_name']}/enqueue" ); + } + + private function register_styles() { + + //***************************************************************** + // Redux Admin CSS + //***************************************************************** wp_enqueue_style( - 'redux-fields-css', - ReduxFramework::$_url . 'assets/css/redux-fields.css', + 'redux-admin-css', + ReduxFramework::$_url . 'assets/css/redux-admin.css', array(), $this->timestamp, 'all' ); - } - //***************************************************************** - // Select2 CSS - //***************************************************************** - wp_register_style( - 'select2-css', - ReduxFramework::$_url . 'assets/js/vendor/select2/select2.css', - array(), - $this->timestamp, - 'all' - ); - - //***************************************************************** - // Spectrum CSS - //***************************************************************** - wp_register_style( - 'redux-spectrum-css', - ReduxFramework::$_url . 'assets/css/vendor/spectrum/redux-spectrum.css', - array(), - $this->timestamp, - 'all' - ); - - //***************************************************************** - // Elusive Icon CSS - //***************************************************************** - wp_enqueue_style( - 'redux-elusive-icon', - ReduxFramework::$_url . 'assets/css/vendor/elusive-icons/elusive-webfont.css', - array(), - $this->timestamp, - 'all' - ); - - //***************************************************************** - // QTip CSS - //***************************************************************** - wp_enqueue_style( - 'qtip-css', - ReduxFramework::$_url . 'assets/css/vendor/qtip/jquery.qtip.css', - array(), - $this->timestamp, - 'all' - ); - - //***************************************************************** - // JQuery UI CSS - //***************************************************************** - wp_enqueue_style( - 'jquery-ui-css', - apply_filters( "redux/page/{$this->parent->args['opt_name']}/enqueue/jquery-ui-css", ReduxFramework::$_url . 'assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css' ), - array(), - $this->timestamp, - 'all' - ); - - //***************************************************************** - // Iris CSS - //***************************************************************** - wp_enqueue_style( 'wp-color-picker' ); - - if ($this->parent->args['dev_mode']) { - //***************************************************************** - // Color Picker CSS + // Redux Fields CSS + //***************************************************************** + if ( ! $this->parent->args['dev_mode'] ) { + wp_enqueue_style( + 'redux-fields-css', + ReduxFramework::$_url . 'assets/css/redux-fields.css', + array(), + $this->timestamp, + 'all' + ); + } + + //***************************************************************** + // Select2 CSS //***************************************************************** wp_register_style( - 'redux-color-picker-css', - ReduxFramework::$_url . 'assets/css/color-picker/color-picker.css', - array('wp-color-picker'), + 'select2-css', + ReduxFramework::$_url . 'assets/js/vendor/select2/select2.css', + array(), $this->timestamp, 'all' ); //***************************************************************** - // Media CSS - //***************************************************************** - wp_enqueue_style( - 'redux-field-media-css', - ReduxFramework::$_url . 'assets/css/media/media.css', + // Spectrum CSS + //***************************************************************** + wp_register_style( + 'redux-spectrum-css', + ReduxFramework::$_url . 'assets/css/vendor/spectrum/redux-spectrum.css', array(), - time(), - 'all' - ); - } - - //***************************************************************** - // RTL CSS - //***************************************************************** - if ( is_rtl() ) { - wp_enqueue_style( - 'redux-rtl-css', - ReduxFramework::$_url . 'assets/css/rtl.css', - array('redux-admin-css'), $this->timestamp, 'all' ); + + //***************************************************************** + // Elusive Icon CSS + //***************************************************************** + wp_enqueue_style( + 'redux-elusive-icon', + ReduxFramework::$_url . 'assets/css/vendor/elusive-icons/elusive-icons.css', + array(), + $this->timestamp, + 'all' + ); + + //***************************************************************** + // QTip CSS + //***************************************************************** + wp_enqueue_style( + 'qtip-css', + ReduxFramework::$_url . 'assets/css/vendor/qtip/jquery.qtip.css', + array(), + $this->timestamp, + 'all' + ); + + //***************************************************************** + // JQuery UI CSS + //***************************************************************** + wp_enqueue_style( + 'jquery-ui-css', + apply_filters( "redux/page/{$this->parent->args['opt_name']}/enqueue/jquery-ui-css", ReduxFramework::$_url . 'assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css' ), + array(), + $this->timestamp, + 'all' + ); + + //***************************************************************** + // Iris CSS + //***************************************************************** + wp_enqueue_style( 'wp-color-picker' ); + + if ( $this->parent->args['dev_mode'] ) { + + //***************************************************************** + // Color Picker CSS + //***************************************************************** + wp_register_style( + 'redux-color-picker-css', + ReduxFramework::$_url . 'assets/css/color-picker/color-picker.css', + array( 'wp-color-picker' ), + $this->timestamp, + 'all' + ); + + //***************************************************************** + // Media CSS + //***************************************************************** + wp_enqueue_style( + 'redux-field-media-css', + ReduxFramework::$_url . 'assets/css/media/media.css', + array(), + time(), + 'all' + ); + } + + //***************************************************************** + // RTL CSS + //***************************************************************** + if ( is_rtl() ) { + wp_enqueue_style( + 'redux-rtl-css', + ReduxFramework::$_url . 'assets/css/rtl.css', + array( 'redux-admin-css' ), + $this->timestamp, + 'all' + ); + } + } - } + private function register_scripts() { + //***************************************************************** + // JQuery / JQuery UI JS + //***************************************************************** + wp_enqueue_script( 'jquery' ); + wp_enqueue_script( 'jquery-ui-core' ); + wp_enqueue_script( 'jquery-ui-dialog' ); - private function register_scripts() { - //***************************************************************** - // JQuery / JQuery UI JS - //***************************************************************** - wp_enqueue_script( 'jquery' ); - wp_enqueue_script( 'jquery-ui-core' ); - wp_enqueue_script( 'jquery-ui-dialog' ); - - //***************************************************************** - // Select2 Sortable JS - //***************************************************************** - wp_register_script( - 'redux-select2-sortable-js', - ReduxFramework::$_url . 'assets/js/vendor/redux.select2.sortable' . $this->min . '.js', - array( 'jquery' ), - $this->timestamp, - true - ); - - //***************************************************************** - // Select2 JS - //***************************************************************** - wp_register_script( - 'select2-js', - ReduxFramework::$_url . 'assets/js/vendor/select2/select2.js', - array( 'jquery', 'redux-select2-sortable-js' ), - $this->timestamp, - true - ); - - $depArray = array( 'jquery'); - - //***************************************************************** - // Vendor JS - //***************************************************************** - if ($this->parent->args['dev_mode']) { + //***************************************************************** + // Select2 Sortable JS + //***************************************************************** wp_register_script( - 'redux-vendor', - ReduxFramework::$_url . 'assets/js/vendor.min.js', + 'redux-select2-sortable-js', + ReduxFramework::$_url . 'assets/js/vendor/redux.select2.sortable' . $this->min . '.js', array( 'jquery' ), $this->timestamp, true - ); - - array_push( $depArray, 'redux-vendor' ); + ); + + //***************************************************************** + // Select2 JS + //***************************************************************** + wp_register_script( + 'select2-js', + ReduxFramework::$_url . 'assets/js/vendor/select2/select2.js', + array( 'jquery', 'redux-select2-sortable-js' ), + $this->timestamp, + true + ); + + $depArray = array( 'jquery' ); + + //***************************************************************** + // Vendor JS + //***************************************************************** + if ( $this->parent->args['dev_mode'] ) { + wp_register_script( + 'redux-vendor', + ReduxFramework::$_url . 'assets/js/vendor.min.js', + array( 'jquery' ), + $this->timestamp, + true + ); + + array_push( $depArray, 'redux-vendor' ); + } + + //***************************************************************** + // Redux JS + //***************************************************************** + wp_register_script( + 'redux-js', + ReduxFramework::$_url . 'assets/js/redux' . $this->min . '.js', + $depArray, + $this->timestamp, + true + ); + + wp_enqueue_script( + 'webfontloader', + 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.0/webfont.js', + array( 'jquery' ), + '1.5.0', + true + ); } - //***************************************************************** - // Redux JS - //***************************************************************** - wp_register_script( - 'redux-js', - ReduxFramework::$_url . 'assets/js/redux' . $this->min . '.js', - $depArray, - $this->timestamp, - true - ); - - wp_enqueue_script( - 'webfontloader', - 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.0/webfont.js', - array( 'jquery' ), - '1.5.0', - true - ); - } - - private function enqueue_fields(){ - foreach ( $this->parent->sections as $section ) { - if ( isset( $section['fields'] ) ) { - foreach ( $section['fields'] as $field ) { - // TODO AFTER GROUP WORKS - Revert IF below - // if( isset( $field['type'] ) && $field['type'] != 'callback' ) { - if ( isset( $field['type'] ) && $field['type'] != 'callback' ) { + private function enqueue_fields() { + foreach ( $this->parent->sections as $section ) { + if ( isset( $section['fields'] ) ) { + foreach ( $section['fields'] as $field ) { + // TODO AFTER GROUP WORKS - Revert IF below + // if( isset( $field['type'] ) && $field['type'] != 'callback' ) { + if ( isset( $field['type'] ) && $field['type'] != 'callback' ) { - $field_class = 'ReduxFramework_' . $field['type']; + $field_class = 'ReduxFramework_' . $field['type']; - /** - * Field class file - * filter 'redux/{opt_name}/field/class/{field.type} - * - * @param string field class file path - * @param array $field field config data - */ - $class_file = apply_filters( "redux/{$this->parent->args['opt_name']}/field/class/{$field['type']}", ReduxFramework::$_dir . "inc/fields/{$field['type']}/field_{$field['type']}.php", $field ); - if ( $class_file ) { - if ( ! class_exists( $field_class ) ) { - if ( file_exists( $class_file ) ) { - require_once( $class_file ); - } - } - - if ( ( method_exists( $field_class, 'enqueue' ) ) || method_exists( $field_class, 'localize' ) ) { - - if ( ! isset( $this->parent->options[ $field['id'] ] ) ) { - $this->parent->options[ $field['id'] ] = ""; - } - $theField = new $field_class( $field, $this->parent->options[ $field['id'] ], $this->parent ); - - // Move dev_mode check to a new if/then block - if ( ! wp_script_is( 'redux-field-' . $field['type'] . '-js', 'enqueued' ) && class_exists( $field_class ) && method_exists( $field_class, 'enqueue' ) ) { - $theField->enqueue(); - } - - if ( method_exists( $field_class, 'localize' ) ) { - $params = $theField->localize( $field ); - if ( ! isset( $this->parent->localize_data[ $field['type'] ] ) ) { - $this->parent->localize_data[ $field['type'] ] = array(); + /** + * Field class file + * filter 'redux/{opt_name}/field/class/{field.type} + * + * @param string field class file path + * @param array $field field config data + */ + $class_file = apply_filters( "redux/{$this->parent->args['opt_name']}/field/class/{$field['type']}", ReduxFramework::$_dir . "inc/fields/{$field['type']}/field_{$field['type']}.php", $field ); + if ( $class_file ) { + if ( ! class_exists( $field_class ) ) { + if ( file_exists( $class_file ) ) { + require_once( $class_file ); } - $this->parent->localize_data[ $field['type'] ][ $field['id'] ] = $theField->localize( $field ); } - unset( $theField ); + if ( ( method_exists( $field_class, 'enqueue' ) ) || method_exists( $field_class, 'localize' ) ) { + + if ( ! isset( $this->parent->options[ $field['id'] ] ) ) { + $this->parent->options[ $field['id'] ] = ""; + } + $theField = new $field_class( $field, $this->parent->options[ $field['id'] ], $this->parent ); + + // Move dev_mode check to a new if/then block + if ( ! wp_script_is( 'redux-field-' . $field['type'] . '-js', 'enqueued' ) && class_exists( $field_class ) && method_exists( $field_class, 'enqueue' ) ) { + $theField->enqueue(); + } + + if ( method_exists( $field_class, 'localize' ) ) { + $params = $theField->localize( $field ); + if ( ! isset( $this->parent->localize_data[ $field['type'] ] ) ) { + $this->parent->localize_data[ $field['type'] ] = array(); + } + $this->parent->localize_data[ $field['type'] ][ $field['id'] ] = $theField->localize( $field ); + } + + unset( $theField ); + } } } } } } } - } - - private function set_localized_data(){ - $this->parent->localize_data['required'] = $this->parent->required; - $this->parent->localize_data['fonts'] = $this->parent->fonts; - $this->parent->localize_data['required_child'] = $this->parent->required_child; - $this->parent->localize_data['fields'] = $this->parent->fields; - if ( isset( $this->parent->font_groups['google'] ) ) { - $this->parent->localize_data['googlefonts'] = $this->parent->font_groups['google']; + public function get_warnings_and_errors_array() { + // Construct the errors array. + if ( isset( $this->parent->transients['last_save_mode'] ) && ! empty( $this->parent->transients['notices']['errors'] ) ) { + $theTotal = 0; + $theErrors = array(); + + foreach ( $this->parent->transients['notices']['errors'] as $error ) { + $theErrors[ $error['section_id'] ]['errors'][] = $error; + + if ( ! isset( $theErrors[ $error['section_id'] ]['total'] ) ) { + $theErrors[ $error['section_id'] ]['total'] = 0; + } + + $theErrors[ $error['section_id'] ]['total'] ++; + $theTotal ++; + } + + $this->parent->localize_data['errors'] = array( 'total' => $theTotal, 'errors' => $theErrors ); + unset( $this->parent->transients['notices']['errors'] ); + } + + // Construct the warnings array. + if ( isset( $this->parent->transients['last_save_mode'] ) && ! empty( $this->parent->transients['notices']['warnings'] ) ) { + $theTotal = 0; + $theWarnings = array(); + + foreach ( $this->parent->transients['notices']['warnings'] as $warning ) { + $theWarnings[ $warning['section_id'] ]['warnings'][] = $warning; + + if ( ! isset( $theWarnings[ $warning['section_id'] ]['total'] ) ) { + $theWarnings[ $warning['section_id'] ]['total'] = 0; + } + + $theWarnings[ $warning['section_id'] ]['total'] ++; + $theTotal ++; + } + + unset( $this->parent->transients['notices']['warnings'] ); + $this->parent->localize_data['warnings'] = array( + 'total' => $theTotal, + 'warnings' => $theWarnings + ); + } + + if ( empty( $this->parent->transients['notices'] ) ) { + unset( $this->parent->transients['notices'] ); + } } - if ( isset( $this->parent->font_groups['std'] ) ) { - $this->parent->localize_data['stdfonts'] = $this->parent->font_groups['std']; - } + private function set_localized_data() { + $this->parent->localize_data['required'] = $this->parent->required; + $this->parent->localize_data['fonts'] = $this->parent->fonts; + $this->parent->localize_data['required_child'] = $this->parent->required_child; + $this->parent->localize_data['fields'] = $this->parent->fields; - if ( isset( $this->parent->font_groups['customfonts'] ) ) { - $this->parent->localize_data['customfonts'] = $this->parent->font_groups['customfonts']; - } + if ( isset( $this->parent->font_groups['google'] ) ) { + $this->parent->localize_data['googlefonts'] = $this->parent->font_groups['google']; + } - $this->parent->localize_data['folds'] = $this->parent->folds; + if ( isset( $this->parent->font_groups['std'] ) ) { + $this->parent->localize_data['stdfonts'] = $this->parent->font_groups['std']; + } - // Make sure the children are all hidden properly. - foreach ( $this->parent->fields as $key => $value ) { - if ( in_array( $key, $this->parent->fieldsHidden ) ) { - foreach ( $value as $k => $v ) { - if ( ! in_array( $k, $this->parent->fieldsHidden ) ) { - $this->parent->fieldsHidden[] = $k; - $this->parent->folds[ $k ] = "hide"; + if ( isset( $this->parent->font_groups['customfonts'] ) ) { + $this->parent->localize_data['customfonts'] = $this->parent->font_groups['customfonts']; + } + + $this->parent->localize_data['folds'] = $this->parent->folds; + + // Make sure the children are all hidden properly. + foreach ( $this->parent->fields as $key => $value ) { + if ( in_array( $key, $this->parent->fieldsHidden ) ) { + foreach ( $value as $k => $v ) { + if ( ! in_array( $k, $this->parent->fieldsHidden ) ) { + $this->parent->fieldsHidden[] = $k; + $this->parent->folds[ $k ] = "hide"; + } } } } - } - if ( isset( $this->parent->args['dev_mode'] ) && $this->parent->args['dev_mode'] == true ) { - - $base = admin_url( 'admin-ajax.php' ) . '?action=redux_p&url='; - $url = $base . urlencode( 'http://ads.reduxframework.com/api/index.php?js&g&1&v=2' ) . '&proxy=' . urlencode( $base ); - $this->parent->localize_data['rAds'] = ''; - } - - $this->parent->localize_data['fieldsHidden'] = $this->parent->fieldsHidden; - $this->parent->localize_data['options'] = $this->parent->options; - $this->parent->localize_data['defaults'] = $this->parent->options_defaults; - - /** - * Save pending string - * filter 'redux/{opt_name}/localize/save_pending - * - * @param string save_pending string - */ - $save_pending = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/save_pending", __( 'You have changes that are not saved. Would you like to save them now?', 'redux-framework' ) ); - - /** - * Reset all string - * filter 'redux/{opt_name}/localize/reset - * - * @param string reset all string - */ - $reset_all = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/reset", __( 'Are you sure? Resetting will lose all custom values.', 'redux-framework' ) ); - - /** - * Reset section string - * filter 'redux/{opt_name}/localize/reset_section - * - * @param string reset section string - */ - $reset_section = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/reset_section", __( 'Are you sure? Resetting will lose all custom values in this section.', 'redux-framework' ) ); - - /** - * Preset confirm string - * filter 'redux/{opt_name}/localize/preset - * - * @param string preset confirm string - */ - $preset_confirm = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/preset", __( 'Your current options will be replaced with the values of this preset. Would you like to proceed?', 'redux-framework' ) ); - global $pagenow; - $this->parent->localize_data['args'] = array( - 'save_pending' => $save_pending, - 'reset_confirm' => $reset_all, - 'reset_section_confirm' => $reset_section, - 'preset_confirm' => $preset_confirm, - 'please_wait' => __( 'Please Wait', 'redux-framework' ), - 'opt_name' => $this->parent->args['opt_name'], - 'slug' => $this->parent->args['page_slug'], - 'hints' => $this->parent->args['hints'], - 'disable_save_warn' => $this->parent->args['disable_save_warn'], - 'class' => $this->parent->args['class'], - 'menu_search' => $pagenow . '?page=' . $this->parent->args['page_slug'] . "&tab=" - ); - - // Construct the errors array. - if ( isset( $this->parent->transients['last_save_mode'] ) && ! empty( $this->parent->transients['notices']['errors'] ) ) { - $theTotal = 0; - $theErrors = array(); - - foreach ( $this->parent->transients['notices']['errors'] as $error ) { - $theErrors[ $error['section_id'] ]['errors'][] = $error; - - if ( ! isset( $theErrors[ $error['section_id'] ]['total'] ) ) { - $theErrors[ $error['section_id'] ]['total'] = 0; - } - - $theErrors[ $error['section_id'] ]['total'] ++; - $theTotal ++; + if ( isset( $this->parent->args['dev_mode'] ) && $this->parent->args['dev_mode'] == true ) { + $nonce = wp_create_nonce( 'redux-ads-nonce' ); + $base = admin_url( 'admin-ajax.php' ) . '?action=redux_p&nonce=' . $nonce . '&url='; + $url = $base . urlencode( 'http://ads.reduxframework.com/api/index.php?js&g&1&v=2' ) . '&proxy=' . urlencode( $base ) . ''; + $this->parent->localize_data['rAds'] = ''; } - $this->parent->localize_data['errors'] = array( 'total' => $theTotal, 'errors' => $theErrors ); - unset( $this->parent->transients['notices']['errors'] ); + $this->parent->localize_data['fieldsHidden'] = $this->parent->fieldsHidden; + $this->parent->localize_data['options'] = $this->parent->options; + $this->parent->localize_data['defaults'] = $this->parent->options_defaults; + + /** + * Save pending string + * filter 'redux/{opt_name}/localize/save_pending + * + * @param string save_pending string + */ + $save_pending = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/save_pending", __( 'You have changes that are not saved. Would you like to save them now?', 'redux-framework' ) ); + + /** + * Reset all string + * filter 'redux/{opt_name}/localize/reset + * + * @param string reset all string + */ + $reset_all = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/reset", __( 'Are you sure? Resetting will lose all custom values.', 'redux-framework' ) ); + + /** + * Reset section string + * filter 'redux/{opt_name}/localize/reset_section + * + * @param string reset section string + */ + $reset_section = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/reset_section", __( 'Are you sure? Resetting will lose all custom values in this section.', 'redux-framework' ) ); + + /** + * Preset confirm string + * filter 'redux/{opt_name}/localize/preset + * + * @param string preset confirm string + */ + $preset_confirm = apply_filters( "redux/{$this->parent->args['opt_name']}/localize/preset", __( 'Your current options will be replaced with the values of this preset. Would you like to proceed?', 'redux-framework' ) ); + global $pagenow; + $this->parent->localize_data['args'] = array( + 'save_pending' => $save_pending, + 'reset_confirm' => $reset_all, + 'reset_section_confirm' => $reset_section, + 'preset_confirm' => $preset_confirm, + 'please_wait' => __( 'Please Wait', 'redux-framework' ), + 'opt_name' => $this->parent->args['opt_name'], + 'slug' => $this->parent->args['page_slug'], + 'hints' => $this->parent->args['hints'], + 'disable_save_warn' => $this->parent->args['disable_save_warn'], + 'class' => $this->parent->args['class'], + 'ajax_save' => $this->parent->args['ajax_save'], + 'menu_search' => $pagenow . '?page=' . $this->parent->args['page_slug'] . "&tab=" + ); + + $this->parent->localize_data['ajax'] = array( + 'console' => __( 'There was an error saving. Here is the result of your action:', 'redux-framework' ), + 'alert' => __( 'There was a problem with your action. Please try again or reload the page.', 'redux-framework' ), + ); + + + $this->get_warnings_and_errors_array(); + + wp_localize_script( + 'redux-js', + 'redux', + $this->parent->localize_data + ); + + wp_enqueue_script( 'redux-js' ); // Enque the JS now + } - - // Construct the warnings array. - if ( isset( $this->parent->transients['last_save_mode'] ) && ! empty( $this->parent->transients['notices']['warnings'] ) ) { - $theTotal = 0; - $theWarnings = array(); - - foreach ( $this->parent->transients['notices']['warnings'] as $warning ) { - $theWarnings[ $warning['section_id'] ]['warnings'][] = $warning; - - if ( ! isset( $theWarnings[ $warning['section_id'] ]['total'] ) ) { - $theWarnings[ $warning['section_id'] ]['total'] = 0; - } - - $theWarnings[ $warning['section_id'] ]['total'] ++; - $theTotal ++; - } - - unset( $this->parent->transients['notices']['warnings'] ); - $this->parent->localize_data['warnings'] = array( 'total' => $theTotal, 'warnings' => $theWarnings ); - } - - if ( empty( $this->parent->transients['notices'] ) ) { - unset( $this->parent->transients['notices'] ); - } - - wp_localize_script( - 'redux-js', - 'redux', - $this->parent->localize_data - ); - - wp_enqueue_script( 'redux-js' ); // Enque the JS now - } - } -} \ No newline at end of file + } \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/core/newsflash.php b/admin/core/lib/ReduxFramework/ReduxCore/core/newsflash.php new file mode 100644 index 00000000..8f45071e --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/core/newsflash.php @@ -0,0 +1,137 @@ +parent = $parent; + + extract($params); + $this->server_file = $server_file; + $this->interval = isset($interval) ? $interval: 3; + $this->cookie_id = isset($cookie_id) ? $cookie_id : $parent->args['opt_name'] . '_blast'; + + // set notice file location + $notice_dir = ReduxFramework::$_upload_dir . $dir_name;// 'notice'; + $this->notice_json = $notice_dir . '/notice.json'; + + // verify notice dir exists + if (!is_dir ( $notice_dir )) { + // create notice dir + $parent->filesystem->execute('mkdir', $notice_dir); + } + + // if notice file does not exists + if (!file_exists($this->notice_json)) { + // get notice data from server and create cache file + $this->get_notice_json(); + } else { + // check expiry time + if ( ! isset( $_COOKIE[$this->cookie_id] ) ) { + // expired! get notice data from server + $this->get_notice_json(); + } + } + + // set the admin notice msg + $this->display_message(); + } + + private function get_notice_json() { + + // filesystem object + $filesystem = $this->parent->filesystem; + + // get notice data from server + $data = $filesystem->execute('get_contents', $this->server_file);// 'http://www.reduxframework.com/' . 'wp-content/uploads/redux/redux_notice.json'); + + // if some data exists + if ($data != '' || !empty($data)) { + + // if local notice file exists + if (file_exists($this->notice_json)) { + + // get cached data + $cache_data = $filesystem->execute('get_contents', $this->notice_json); + + // if local and server data are same, then return + if ( strcmp ( $data, $cache_data ) == 0) { + // set new cookie for interval value + setcookie( $this->cookie_id, time(), time() + (86400 * $this->interval), '/' ); + + // bail out + return; + } + } + + // set server data + $params = array( + 'content' => $data + ); + + // write local notice file with new data + $filesystem->execute('put_contents', $this->notice_json, $params); + + // set cookie for three day expiry + setcookie( $this->cookie_id, time(), time() + (86400 * $this->interval), '/' ); + + // set unique key for dismiss meta key + update_option($this->cookie_id, time()); + } + } + + private function display_message(){ + // notice file exists? + if (file_exists($this->notice_json)) { + // get cached data + $data = $this->parent->filesystem->execute('get_contents', $this->notice_json); + + // decode json string + $data = (Array)json_decode($data); + + // must be array and not empty + if (is_array($data) && !empty($data)) { + + // No message means nothing to display. + if (!isset($data['message']) || $data['message'] == '' || empty($data['message'])) { + return; + } + + // validate data + $data['type'] = isset($data['type']) && $data['type'] != '' ? $data['type'] : 'updated'; + $data['title'] = isset($data['title']) && $data['title'] != '' ? $data['title'] : ''; + + if ($data['type'] == 'redux-message') { + $data['type'] = 'updated redux-message'; + } + + $data['color'] = isset($data['color']) ? $data['color'] : '#00A2E3'; + + // get unique meta key + $key = get_option($this->cookie_id); + + // set admin notice array + $this->parent->admin_notices[] = array( + 'type' => $data['type'], + 'msg' => $data['title'] . $data['message'], + 'id' => $this->cookie_id . '_' . $key, + 'dismiss' => true, + 'color' => $data['color'] + ); + } + } + } + } + } \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/core/panel.php b/admin/core/lib/ReduxFramework/ReduxCore/core/panel.php new file mode 100644 index 00000000..c381b82d --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/core/panel.php @@ -0,0 +1,360 @@ +parent = $parent; + Redux_Functions::$_parent = $parent; + $this->template_path = $this->original_path = ReduxFramework::$_dir . 'templates/panel/'; + if ( ! empty( $this->parent->args['templates_path'] ) ) { + $this->template_path = trailingslashit( $this->parent->args['templates_path'] ); + } + $this->template_path = trailingslashit( apply_filters( "redux/{$this->parent->args['opt_name']}/panel/templates_path", $this->template_path ) ); + } + + public function init() { + $this->panel_template(); + } + + + /** + * Loads the panel templates where needed and provides the container for Redux + */ + private function panel_template() { + + if ( $this->parent->args['dev_mode'] ) { + $this->template_file_check_notice(); + } + + /** + * action 'redux/{opt_name}/panel/before' + */ + do_action( "redux/{$this->parent->args['opt_name']}/panel/before" ); + + echo '

'; // Stupid hack for Wordpress alerts and warnings + + echo '
'; + echo '
'; + + // Do we support JS? + echo ''; + + // Security is vital! + echo ''; + + /** + * action 'redux-page-before-form-{opt_name}' + * + * @deprecated + */ + do_action( "redux-page-before-form-{$this->parent->args['opt_name']}" ); // Remove + + /** + * action 'redux/page/{opt_name}/form/before' + * + * @param object $this ReduxFramework + */ + do_action( "redux/page/{$this->parent->args['opt_name']}/form/before", $this ); + + $this->get_template( 'container.tpl.php' ); + + /** + * action 'redux-page-after-form-{opt_name}' + * + * @deprecated + */ + do_action( "redux-page-after-form-{$this->parent->args['opt_name']}" ); // REMOVE + + /** + * action 'redux/page/{opt_name}/form/after' + * + * @param object $this ReduxFramework + */ + do_action( "redux/page/{$this->parent->args['opt_name']}/form/after", $this ); + echo '
'; + echo '
'; + + if ( $this->parent->args['dev_mode'] == true ) { + if ( current_user_can( 'administrator' ) ) { + global $wpdb; + echo "
";
+                        print_r( $wpdb->queries );
+                        echo "
"; + } + + echo '
' . get_num_queries() . ' queries in ' . timer_stop( 0 ) . ' seconds
Redux is currently set to developer mode.
'; + } + + /** + * action 'redux/{opt_name}/panel/after' + */ + do_action( "redux/{$this->parent->args['opt_name']}/panel/after" ); + + } + + + /** + * Calls the various notification bars and sets the appropriate templates. + */ + function notification_bar() { + + if ( isset( $this->parent->transients['last_save_mode'] ) ) { + + if ( $this->parent->transients['last_save_mode'] == "import" ) { + /** + * action 'redux/options/{opt_name}/import' + * + * @param object $this ReduxFramework + */ + do_action( "redux/options/{$this->parent->args['opt_name']}/import", $this, $this->parent->transients['changed_values'] ); + + /** + * filter 'redux-imported-text-{opt_name}' + * + * @param string translated "settings imported" text + */ + echo '
' . apply_filters( "redux-imported-text-{$this->parent->args['opt_name']}", __( 'Settings Imported!', 'redux-framework' ) ) . '
'; + //exit(); + } else if ( $this->parent->transients['last_save_mode'] == "defaults" ) { + /** + * action 'redux/options/{opt_name}/reset' + * + * @param object $this ReduxFramework + */ + do_action( "redux/options/{$this->parent->args['opt_name']}/reset", $this ); + + /** + * filter 'redux-defaults-text-{opt_name}' + * + * @param string translated "settings imported" text + */ + echo '
' . apply_filters( "redux-defaults-text-{$this->parent->args['opt_name']}", __( 'All Defaults Restored!', 'redux-framework' ) ) . '
'; + } else if ( $this->parent->transients['last_save_mode'] == "defaults_section" ) { + /** + * action 'redux/options/{opt_name}/section/reset' + * + * @param object $this ReduxFramework + */ + do_action( "redux/options/{$this->parent->args['opt_name']}/section/reset", $this ); + + /** + * filter 'redux-defaults-section-text-{opt_name}' + * + * @param string translated "settings imported" text + */ + echo '
' . apply_filters( "redux-defaults-section-text-{$this->parent->args['opt_name']}", __( 'Section Defaults Restored!', 'redux-framework' ) ) . '
'; + } else if ( $this->parent->transients['last_save_mode'] == "normal" ) { + /** + * action 'redux/options/{opt_name}/saved' + * + * @param mixed $value set/saved option value + */ + do_action( "redux/options/{$this->parent->args['opt_name']}/saved", $this->parent->options, $this->parent->transients['changed_values'] ); + + /** + * filter 'redux-saved-text-{opt_name}' + * + * @param string translated "settings saved" text + */ + echo '
' . apply_filters( "redux-saved-text-{$this->parent->args['opt_name']}", __( 'Settings Saved!', 'redux-framework' ) ) . '
'; + } + + unset( $this->parent->transients['last_save_mode'] ); + //$this->parent->transients['last_save_mode'] = 'remove'; + $this->parent->set_transients(); + } + + /** + * action 'redux/options/{opt_name}/settings/changes' + * + * @param mixed $value set/saved option value + */ + do_action( "redux/options/{$this->parent->args['opt_name']}/settings/change", $this->parent->options, $this->parent->transients['changed_values'] ); + + /** + * filter 'redux-changed-text-{opt_name}' + * + * @param string translated "settings have changed" text + */ + echo '
' . apply_filters( "redux-changed-text-{$this->parent->args['opt_name']}", __( 'Settings have changed, you should save them!', 'redux-framework' ) ) . '
'; + + /** + * action 'redux/options/{opt_name}/errors' + * + * @param array $this ->errors error information + */ + do_action( "redux/options/{$this->parent->args['opt_name']}/errors", $this->parent->errors ); + echo '
' . __( 'error(s) were found!', 'redux-framework' ) . '
'; + + /** + * action 'redux/options/{opt_name}/warnings' + * + * @param array $this ->warnings warning information + */ + do_action( "redux/options/{$this->parent->args['opt_name']}/warnings", $this->parent->warnings ); + echo '
' . __( 'warning(s) were found!', 'redux-framework' ) . '
'; + + } + + /** + * Used to intitialize the settings fields for this panel. Required for saving and redirect. + */ + function init_settings_fields() { + // Must run or the page won't redirect properly + settings_fields( "{$this->parent->args['opt_name']}_group" ); + } + + + /** + * Used to select the proper template. If it doesn't exist in the path, then the original template file is used. + * + * @param $file + */ + function get_template( $file ) { + + if ( empty( $file ) ) { + return; + } + + if ( file_exists( $this->template_path . $file ) ) { + $path = $this->template_path . $file; + } else { + $path = $this->original_path . $file; + } + + $path = apply_filters( "redux/{$this->parent->args['opt_name']}/panel/template/" . $file, $path ); + + include( $path ); + + } + + /** + * Retrieve metadata from a file. Based on WP Core's get_file_data function + * + * @since 2.1.1 + * + * @param string $file Path to the file + * + * @return string + */ + public function get_file_version( $file ) { + // We don't need to write to the file, so just open for reading. + $fp = fopen( $file, 'r' ); + + // Pull only the first 8kiB of the file in. + $file_data = fread( $fp, 8192 ); + + // PHP will close file handle, but we are good citizens. + fclose( $fp ); + + // Make sure we catch CR-only line endings. + $file_data = str_replace( "\r", "\n", $file_data ); + $version = ''; + + if ( preg_match( '/^[ \t\/*#@]*' . preg_quote( '@version', '/' ) . '(.*)$/mi', $file_data, $match ) && $match[1] ) { + $version = _cleanup_header_comment( $match[1] ); + } + + return $version; + } + + /** + * Scan the template files + * + * @param string $template_path + * + * @return array + */ + public function scan_template_files( $template_path ) { + $files = scandir( $template_path ); + $result = array(); + if ( $files ) { + foreach ( $files as $key => $value ) { + if ( ! in_array( $value, array( ".", ".." ) ) ) { + if ( is_dir( $template_path . DIRECTORY_SEPARATOR . $value ) ) { + $sub_files = self::scan_template_files( $template_path . DIRECTORY_SEPARATOR . $value ); + foreach ( $sub_files as $sub_file ) { + $result[] = $value . DIRECTORY_SEPARATOR . $sub_file; + } + } else { + $result[] = $value; + } + } + } + } + + return $result; + } + + /** + * Show a notice highlighting bad template files + */ + public function template_file_check_notice() { + + if ( $this->template_path == $this->original_path ) { + return; + } + + $core_templates = $this->scan_template_files( $this->original_path ); + $outdated = false; + + foreach ( $core_templates as $file ) { + $developer_theme_file = false; + + if ( file_exists( $this->template_path . $file ) ) { + $developer_theme_file = $this->template_path . $file; + } + + if ( $developer_theme_file ) { + $core_version = $this->get_file_version( $this->original_path . $file ); + $developer_version = $this->get_file_version( $developer_theme_file ); + + if ( $core_version && $developer_version && version_compare( $developer_version, $core_version, '<' ) ) { + ?> +
+

Your panel has bundled outdated copies of Redux Framework template files – if you encounter functionality issues this could be the reason. Ensure you update or remove them.', 'redux-framework' ); ?>

+
+ parent->args['opt_name'] . $k . '_section_group' ); + } + + } + } \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/core/required.php b/admin/core/lib/ReduxFramework/ReduxCore/core/required.php new file mode 100644 index 00000000..08b33c1f --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/core/required.php @@ -0,0 +1,25 @@ +parent = $parent; + Redux_Functions::$_parent = $parent; + + + /** + * action 'redux/page/{opt_name}/' + */ + do_action( "redux/page/{$parent->args['opt_name']}/" ); + + } + + + } + } \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/framework.php b/admin/core/lib/ReduxFramework/ReduxCore/framework.php index 3f632fbe..c6fd6ec2 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/framework.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/framework.php @@ -1,5 +1,4 @@ $value ) { - if ( strpos( $key, 'redux-framework.php' ) !== false ) { + if ( is_plugin_active( $key ) && strpos( $key, 'redux-framework.php' ) !== false ) { self::$_dir = trailingslashit( Redux_Helpers::cleanFilePath( WP_CONTENT_DIR . '/plugins/' . plugin_dir_path( $key ) . 'ReduxCore/' ) ); $is_plugin = true; } @@ -130,7 +134,6 @@ self::$_url = apply_filters( "redux/_url", self::$_url ); self::$_dir = apply_filters( "redux/_dir", self::$_dir ); self::$_is_plugin = apply_filters( "redux/_is_plugin", self::$_is_plugin ); - } // ::init() @@ -170,14 +173,15 @@ public $debug = null; public $no_panel = array(); // Fields that are not visible in the panel private $show_hints = false; - private $hidden_perm_fields = array(); // Hidden fields specified by 'permissions' arg. - private $hidden_perm_sections = array(); // Hidden sections specified by 'permissions' arg. + public $hidden_perm_fields = array(); // Hidden fields specified by 'permissions' arg. + public $hidden_perm_sections = array(); // Hidden sections specified by 'permissions' arg. public $typography_preview = array(); public $args = array(); - public $filesystem = null; + public $filesystem = null; public $font_groups = array(); - public $wpml = array(); - + public $lang = ""; + public $dev_mode_forced = false; + /** * Class Constructor. Defines the args for the theme options class * @@ -190,9 +194,8 @@ * @return \ReduxFramework */ public function __construct( $sections = array(), $args = array(), $extra_tabs = array() ) { - // Disregard WP AJAX 'heartbeat'call. Why waste resources? - if ( isset( $_POST ) && isset( $_POST['action'] ) && $_POST['action'] == 'heartbeat' ) { + if ( isset ( $_POST ) && isset ( $_POST['action'] ) && $_POST['action'] == 'heartbeat' ) { // Hook, for purists. if ( ! has_action( 'redux/ajax/heartbeat' ) ) { @@ -206,28 +209,23 @@ // Pass parent pointer to function helper. Redux_Functions::$_parent = $this; - $this->filesystem = new Redux_Filesystem( $this ); - - //set redux upload folder - $this->set_redux_content(); - // Set values $this->set_default_args(); $this->args = wp_parse_args( $args, $this->args ); - if ( empty( $this->args['transient_time'] ) ) { + if ( empty ( $this->args['transient_time'] ) ) { $this->args['transient_time'] = 60 * MINUTE_IN_SECONDS; } - if ( empty( $this->args['footer_credit'] ) ) { + if ( empty ( $this->args['footer_credit'] ) ) { $this->args['footer_credit'] = '' . sprintf( __( 'Options panel created using %1$s', 'redux-framework' ), '
' . __( 'Redux Framework', 'redux-framework' ) . ' v' . self::$_version ) . ''; } - if ( empty( $this->args['menu_title'] ) ) { + if ( empty ( $this->args['menu_title'] ) ) { $this->args['menu_title'] = __( 'Options', 'redux-framework' ); } - if ( empty( $this->args['page_title'] ) ) { + if ( empty ( $this->args['page_title'] ) ) { $this->args['page_title'] = __( 'Options', 'redux-framework' ); } @@ -245,29 +243,34 @@ */ $this->args = apply_filters( "redux/options/{$this->args['opt_name']}/args", $this->args ); - if ( ! empty( $this->args['opt_name'] ) ) { + // Do not save the defaults if we're on a live preview! + if ( $GLOBALS['pagenow'] == "customize" && isset( $_GET['theme'] ) && ! empty( $_GET['theme'] ) ) { + $this->args['save_defaults'] = false; + } + + if ( ! empty ( $this->args['opt_name'] ) ) { /** * SHIM SECTION * Old variables and ways of doing things that need correcting. ;) - **/ + * */ // Variable name change - if ( ! empty( $this->args['page_cap'] ) ) { + if ( ! empty ( $this->args['page_cap'] ) ) { $this->args['page_permissions'] = $this->args['page_cap']; - unset( $this->args['page_cap'] ); + unset ( $this->args['page_cap'] ); } - if ( ! empty( $this->args['page_position'] ) ) { + if ( ! empty ( $this->args['page_position'] ) ) { $this->args['page_priority'] = $this->args['page_position']; - unset( $this->args['page_position'] ); + unset ( $this->args['page_position'] ); } - if ( ! empty( $this->args['page_type'] ) ) { + if ( ! empty ( $this->args['page_type'] ) ) { $this->args['menu_type'] = $this->args['page_type']; - unset( $this->args['page_type'] ); + unset ( $this->args['page_type'] ); } // Get rid of extra_tabs! Not needed. - if ( is_array( $extra_tabs ) && ! empty( $extra_tabs ) ) { + if ( is_array( $extra_tabs ) && ! empty ( $extra_tabs ) ) { foreach ( $extra_tabs as $tab ) { array_push( $this->sections, $tab ); } @@ -311,6 +314,11 @@ // Internataionalization $this->_internationalization(); + $this->filesystem = new Redux_Filesystem ( $this ); + + //set redux upload folder + $this->set_redux_content(); + // Register extra extensions $this->_register_extensions(); @@ -318,35 +326,10 @@ $this->get_options(); // Tracking - if ( true != Redux_Helpers::isTheme( __FILE__ ) || ( true == Redux_Helpers::isTheme( __FILE__ ) && !$this->args['disable_tracking'] ) ) { + if ( true != Redux_Helpers::isTheme( __FILE__ ) || ( true == Redux_Helpers::isTheme( __FILE__ ) && ! $this->args['disable_tracking'] ) ) { $this->_tracking(); } - //DOVY!! HERE!!! - // Getting started page -// if ( is_admin () && $this->args['dev_mode'] ) { -// -// if ( isset($_GET['page']) && ($_GET['page'] == 'redux-about' || $_GET['page'] == 'redux-getting-started' || $_GET['page'] == 'redux-credits' || $_GET['page'] == 'redux-changelog' )) { -// //logconsole('inc'); -// require_once( dirname( __FILE__ ) . '/inc/welcome.php' ); -// } else { -// //logconsole('compare'); -// if (isset($_GET['page']) && $_GET['page'] == $this->args['page_slug']) { -// $saveVer = get_option('redux_version_upgraded_from'); -// $curVer = self::$_version; -// -// if (empty($saveVer)) { -// //logconsole('redir'); -// wp_safe_redirect ( admin_url ( 'index.php?page=redux-getting-started' ) ); -// exit; -// } else if (version_compare($curVer, $saveVer, '>')) { -// wp_safe_redirect ( admin_url ( 'index.php?page=redux-about' ) ); -// exit; -// } -// } -// } -// } - // Options page add_action( 'admin_menu', array( $this, '_options_page' ) ); @@ -356,7 +339,10 @@ } // Admin Bar menu - add_action( 'admin_bar_menu', array( $this, '_admin_bar_menu' ), $this->args['admin_bar_priority'] ); + add_action( 'admin_bar_menu', array( + $this, + '_admin_bar_menu' + ), $this->args['admin_bar_priority'] ); // Register setting add_action( 'admin_init', array( $this, '_register_settings' ) ); @@ -364,7 +350,7 @@ // Display admin notices in dev_mode if ( true == $this->args['dev_mode'] ) { require_once( self::$_dir . 'inc/debug.php' ); - $this->debug = new ReduxDebugObject( $this ); + $this->debug = new ReduxDebugObject ( $this ); if ( true == $this->args['update_notice'] ) { add_action( 'admin_init', array( $this, '_update_check' ) ); @@ -372,19 +358,19 @@ } // Display admin notices - add_action( 'admin_notices', array( $this, '_admin_notices' ) ); + add_action( 'admin_notices', array( $this, '_admin_notices' ), 99 ); // Check for dismissed admin notices. add_action( 'admin_init', array( $this, '_dismiss_admin_notice' ), 9 ); // Enqueue the admin page CSS and JS - if ( isset( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { + if ( isset ( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { add_action( 'admin_enqueue_scripts', array( $this, '_enqueue' ), 1 ); } // Output dynamic CSS // Frontend: Maybe enqueue dynamic CSS and Google fonts - if ( empty( $this->args['output_location'] ) || in_array( 'frontend', $this->args['output_location'] ) ) { + if ( empty ( $this->args['output_location'] ) || in_array( 'frontend', $this->args['output_location'] ) ) { add_action( 'wp_head', array( &$this, '_output_css' ), 150 ); add_action( 'wp_enqueue_scripts', array( &$this, '_enqueue_output' ), 150 ); } @@ -405,8 +391,6 @@ add_action( 'wp_print_scripts', array( $this, 'vc_fixes' ), 100 ); add_action( 'admin_enqueue_scripts', array( $this, 'vc_fixes' ), 100 ); - require_once( self::$_dir . 'inc/import_export.php' ); - $this->import_export = new Redux_import_export( $this ); if ( $this->args['database'] == "network" && $this->args['network_admin'] ) { add_action( 'network_admin_edit_redux_' . $this->args['opt_name'], array( @@ -414,8 +398,26 @@ 'save_network_page' ), 10, 0 ); add_action( 'admin_bar_menu', array( $this, 'network_admin_bar' ), 999 ); + } + // Ajax saving!!! + add_action( "wp_ajax_" . $this->args['opt_name'] . '_ajax_save', array( $this, "ajax_save" ) ); + if ( $this->args['dev_mode'] == true || Redux_Helpers::isLocalHost() == true ) { + include_once 'core/dashboard.php'; + if ( ! isset ( $GLOBALS['redux_notice_check'] ) ) { + include_once 'core/newsflash.php'; + + $params = array( + 'dir_name' => 'notice', + 'server_file' => 'http://www.reduxframework.com/' . 'wp-content/uploads/redux/redux_notice.json', + 'interval' => 3, + 'cookie_id' => 'redux_blast', + ); + + new reduxNewsflash( $this, $params ); + $GLOBALS['redux_notice_check'] = 1; + } } } @@ -426,14 +428,14 @@ * @param object $this ReduxFramework */ do_action( 'redux/loaded', $this ); + } - } // __construct() +// __construct() private function set_redux_content() { $upload_dir = wp_upload_dir(); self::$_upload_dir = $upload_dir['basedir'] . '/redux/'; self::$_upload_url = $upload_dir['baseurl'] . '/redux/'; - if ( ! is_dir( self::$_upload_dir ) ) { $this->filesystem->execute( 'mkdir', self::$_upload_dir ); } @@ -455,7 +457,7 @@ // menu title/text 'page_title' => '', // option page title - 'page_slug' => '_options', + 'page_slug' => '', 'page_permissions' => 'manage_options', 'menu_type' => 'menu', // ('menu'|'submenu') @@ -510,7 +512,7 @@ // Enable sites as well as admin when using network database mode 'hide_reset' => false, 'hints' => array( - 'icon' => 'icon-question-sign', + 'icon' => 'el el-question-sign', 'icon_position' => 'right', 'icon_color' => 'lightgray', 'icon_size' => 'normal', @@ -541,6 +543,10 @@ 'dev_mode' => true, 'system_info' => false, 'disable_tracking' => false, + 'templates_path' => '', + // Path to the templates file for various Redux elements + 'ajax_save' => true, + // Disable the use of ajax saving for the panel ); } @@ -562,7 +568,6 @@ 'meta' => array( 'class' => 'redux-network-admin' ) ); $wp_admin_bar->add_node( $args ); - } private function stripslashes_deep( $value ) { @@ -577,7 +582,7 @@ $data = $this->_validate_options( $_POST[ $this->args['opt_name'] ] ); - if ( ! empty( $data ) ) { + if ( ! empty ( $data ) ) { $this->set_options( $data ); } @@ -585,19 +590,19 @@ 'page' => $this->args['page_slug'], 'updated' => 'true' ), network_admin_url( 'settings.php' ) ) ); - exit(); + exit (); } public function _update_check() { // Only one notice per instance please - if ( ! isset( $GLOBALS['redux_update_check'] ) ) { + if ( ! isset ( $GLOBALS['redux_update_check'] ) ) { Redux_Functions::updateCheck( self::$_version ); $GLOBALS['redux_update_check'] = 1; } } public function _admin_notices() { - Redux_Functions::adminNotices(); + Redux_Functions::adminNotices( $this->admin_notices ); } public function _dismiss_admin_notice() { @@ -626,7 +631,8 @@ } } load_textdomain( 'redux-framework', self::$_dir . 'languages/' . $locale . '.mo' ); - } // _internationalization() + } +// _internationalization() /** * @return ReduxFramework @@ -634,13 +640,16 @@ public function get_instance() { //self::$_instance = $this; return self::$instance; - } // get_instance() + } + +// get_instance() private function _tracking() { require_once( dirname( __FILE__ ) . '/inc/tracking.php' ); $tracking = Redux_Tracking::get_instance(); $tracking->load( $this ); - } // _tracking() + } +// _tracking() /** * ->_get_default(); This is used to return the default value if default_show is set @@ -656,7 +665,7 @@ public function _get_default( $opt_name, $default = null ) { if ( $this->args['default_show'] == true ) { - if ( empty( $this->options_defaults ) ) { + if ( empty ( $this->options_defaults ) ) { $this->_default_values(); // fill cache } @@ -664,7 +673,8 @@ } return $default; - } // _get_default() + } +// _get_default() /** * ->get(); This is used to return and option value from the options array @@ -678,8 +688,9 @@ * @return mixed */ public function get( $opt_name, $default = null ) { - return ( ! empty( $this->options[ $opt_name ] ) ) ? $this->options[ $opt_name ] : $this->_get_default( $opt_name, $default ); - } // get() + return ( ! empty ( $this->options[ $opt_name ] ) ) ? $this->options[ $opt_name ] : $this->_get_default( $opt_name, $default ); + } +// get() /** * ->set(); This is used to set an arbitrary option in the options array @@ -697,7 +708,8 @@ $this->options[ $opt_name ] = $value; $this->set_options( $this->options ); } - } // set() + } +// set() /** * Set a global variable by the global_variable argument @@ -713,15 +725,14 @@ * * @param array $value option value to set global_variable with */ - $GLOBALS[ $this->args['global_variable'] ] = apply_filters( "redux/options/{$this->args['opt_name']}/global_variable", $this->options ); - if ( isset( $this->transients['last_save'] ) ) { + if ( isset ( $this->transients['last_save'] ) ) { // Deprecated $GLOBALS[ $this->args['global_variable'] ]['REDUX_last_saved'] = $this->transients['last_save']; // Last save key $GLOBALS[ $this->args['global_variable'] ]['REDUX_LAST_SAVE'] = $this->transients['last_save']; } - if ( isset( $this->transients['last_compiler'] ) ) { + if ( isset ( $this->transients['last_compiler'] ) ) { // Deprecated $GLOBALS[ $this->args['global_variable'] ]['REDUX_COMPILER'] = $this->transients['last_compiler']; // Last compiler hook key @@ -732,8 +743,8 @@ } return false; - } // set_global_variable() - + } +// set_global_variable() /** * ->set_options(); This is used to set an arbitrary option in the options array @@ -746,7 +757,8 @@ $this->transients['last_save'] = time(); - if ( ! empty( $value ) ) { + if ( ! empty ( $value ) ) { + $this->options = $value; if ( $this->args['database'] === 'transient' ) { @@ -768,10 +780,10 @@ // Store the changed values in the transient if ( $value != $this->options ) { foreach ( $value as $k => $v ) { - if ( ! isset( $this->options[ $k ] ) ) { + if ( ! isset ( $this->options[ $k ] ) ) { $this->options[ $k ] = ""; } else if ( $v == $this->options[ $k ] ) { - unset( $this->options[ $k ] ); + unset ( $this->options[ $k ] ); } } $this->transients['changed_values'] = $this->options; @@ -787,9 +799,9 @@ //do_action( "redux-saved-{$this->args['opt_name']}", $value ); // REMOVE //do_action( "redux/options/{$this->args['opt_name']}/saved", $value, $this->transients['changed_values'] ); - } - } // set_options() + } +// set_options() /** * ->get_options(); This is used to get options from the database @@ -799,7 +811,7 @@ public function get_options() { $defaults = false; - if ( ! empty( $this->defaults ) ) { + if ( ! empty ( $this->defaults ) ) { $defaults = $this->defaults; } @@ -816,7 +828,7 @@ $result = get_option( $this->args['opt_name'], array() ); } - if ( empty( $result ) && ! empty( $defaults ) ) { + if ( empty ( $result ) && ! empty ( $defaults ) ) { $results = $defaults; $this->set_options( $results ); } else { @@ -835,7 +847,8 @@ // Set a global variable by the global_variable argument. $this->set_global_variable(); - } // get_options() + } +// get_options() /** * ->get_wordpress_date() - Get Wordpress specific data from the DB and return in a usable array @@ -870,17 +883,17 @@ } } - if ( empty( $data ) && isset( $this->wp_data[ $type . $argsKey ] ) ) { + if ( empty ( $data ) && isset ( $this->wp_data[ $type . $argsKey ] ) ) { $data = $this->wp_data[ $type . $argsKey ]; } - if ( empty( $data ) && ! empty( $type ) ) { + if ( empty ( $data ) && ! empty ( $type ) ) { /** * Use data from Wordpress to populate options array - **/ - if ( ! empty( $type ) && empty( $data ) ) { - if ( empty( $args ) ) { + * */ + if ( ! empty ( $type ) && empty ( $data ) ) { + if ( empty ( $args ) ) { $args = array(); } @@ -889,7 +902,7 @@ if ( $type == "categories" || $type == "category" ) { $cats = get_categories( $args ); - if ( ! empty( $cats ) ) { + if ( ! empty ( $cats ) ) { foreach ( $cats as $cat ) { $data[ $cat->term_id ] = $cat->name; } @@ -897,7 +910,7 @@ } // If } else if ( $type == "menus" || $type == "menu" ) { $menus = wp_get_nav_menus( $args ); - if ( ! empty( $menus ) ) { + if ( ! empty ( $menus ) ) { foreach ( $menus as $item ) { $data[ $item->term_id ] = $item->name; } @@ -905,11 +918,11 @@ } //if } else if ( $type == "pages" || $type == "page" ) { - if ( ! isset( $args['posts_per_page'] ) ) { + if ( ! isset ( $args['posts_per_page'] ) ) { $args['posts_per_page'] = 20; } $pages = get_pages( $args ); - if ( ! empty( $pages ) ) { + if ( ! empty ( $pages ) ) { foreach ( $pages as $page ) { $data[ $page->ID ] = $page->post_title; } @@ -918,9 +931,9 @@ //if } else if ( $type == "terms" || $type == "term" ) { $taxonomies = $args['taxonomies']; - unset( $args['taxonomies'] ); + unset ( $args['taxonomies'] ); $terms = get_terms( $taxonomies, $args ); // this will get nothing - if ( ! empty( $terms ) ) { + if ( ! empty ( $terms ) ) { foreach ( $terms as $term ) { $data[ $term->term_id ] = $term->name; } @@ -928,7 +941,7 @@ } // If } else if ( $type == "taxonomy" || $type == "taxonomies" ) { $taxonomies = get_taxonomies( $args ); - if ( ! empty( $taxonomies ) ) { + if ( ! empty ( $taxonomies ) ) { foreach ( $taxonomies as $key => $taxonomy ) { $data[ $key ] = $taxonomy; } @@ -936,7 +949,7 @@ } // If } else if ( $type == "posts" || $type == "post" ) { $posts = get_posts( $args ); - if ( ! empty( $posts ) ) { + if ( ! empty ( $posts ) ) { foreach ( $posts as $post ) { $data[ $post->ID ] = $post->post_title; } @@ -958,7 +971,7 @@ ksort( $post_types ); foreach ( $post_types as $name => $title ) { - if ( isset( $wp_post_types[ $name ]->labels->menu_name ) ) { + if ( isset ( $wp_post_types[ $name ]->labels->menu_name ) ) { $data[ $name ] = $wp_post_types[ $name ]->labels->menu_name; } else { $data[ $name ] = ucfirst( $name ); @@ -966,7 +979,7 @@ } } else if ( $type == "tags" || $type == "tag" ) { // NOT WORKING! $tags = get_tags( $args ); - if ( ! empty( $tags ) ) { + if ( ! empty ( $tags ) ) { foreach ( $tags as $tag ) { $data[ $tag->term_id ] = $tag->name; } @@ -1056,7 +1069,8 @@ //if return $data; - } // get_wordpress_data() + } +// get_wordpress_data() /** * ->show(); This is used to echo and option value from the options array @@ -1076,7 +1090,8 @@ } elseif ( $default != '' ) { echo $this->_get_default( $opt_name, $default ); } - } // show() + } +// show() /** * Get the default value for an option @@ -1090,15 +1105,15 @@ * @return mixed */ public function get_default_value( $key, $array_key = false ) { - if ( empty( $this->options_defaults ) ) { + if ( empty ( $this->options_defaults ) ) { $this->options_defaults = $this->_default_values(); } $defaults = $this->options_defaults; $value = ''; - if ( isset( $defaults[ $key ] ) ) { - if ( $array_key !== false && isset( $defaults[ $key ][ $array_key ] ) ) { + if ( isset ( $defaults[ $key ] ) ) { + if ( $array_key !== false && isset ( $defaults[ $key ][ $array_key ] ) ) { $value = $defaults[ $key ][ $array_key ]; } else { $value = $defaults[ $key ]; @@ -1108,7 +1123,6 @@ return $value; } - /** * Get default options into an array suitable for the settings API * @@ -1121,47 +1135,47 @@ // fill the cache foreach ( $this->sections as $sk => $section ) { - if ( ! isset( $section['id'] ) ) { - if ( ! is_numeric( $sk ) || ! isset( $section['title'] ) ) { + if ( ! isset ( $section['id'] ) ) { + if ( ! is_numeric( $sk ) || ! isset ( $section['title'] ) ) { $section['id'] = $sk; } else { $section['id'] = sanitize_title( $section['title'], $sk ); } $this->sections[ $sk ] = $section; } - if ( isset( $section['fields'] ) ) { + if ( isset ( $section['fields'] ) ) { foreach ( $section['fields'] as $k => $field ) { - if ( empty( $field['id'] ) && empty( $field['type'] ) ) { + if ( empty ( $field['id'] ) && empty ( $field['type'] ) ) { continue; } - if ( in_array( $field['type'], array( 'ace_editor' ) ) && isset( $field['options'] ) ) { + if ( in_array( $field['type'], array( 'ace_editor' ) ) && isset ( $field['options'] ) ) { $this->sections[ $sk ]['fields'][ $k ]['args'] = $field['options']; - unset( $this->sections[ $sk ]['fields'][ $k ]['options'] ); + unset ( $this->sections[ $sk ]['fields'][ $k ]['options'] ); } - if ( $field['type'] == "section" && isset( $field['indent'] ) && $field['indent'] == "true" ) { - $field['class'] = isset( $field['class'] ) ? $field['class'] : ''; + if ( $field['type'] == "section" && isset ( $field['indent'] ) && $field['indent'] == "true" ) { + $field['class'] = isset ( $field['class'] ) ? $field['class'] : ''; $field['class'] .= "redux-section-indent-start"; $this->sections[ $sk ]['fields'][ $k ] = $field; } // Detect what field types are being used - if ( ! isset( $this->fields[ $field['type'] ][ $field['id'] ] ) ) { + if ( ! isset ( $this->fields[ $field['type'] ][ $field['id'] ] ) ) { $this->fields[ $field['type'] ][ $field['id'] ] = 1; } else { $this->fields[ $field['type'] ] = array( $field['id'] => 1 ); } - if ( isset( $field['default'] ) ) { + if ( isset ( $field['default'] ) ) { $this->options_defaults[ $field['id'] ] = $field['default']; - } elseif ( isset( $field['options'] ) && ( $field['type'] != "ace_editor" ) ) { + } elseif ( isset ( $field['options'] ) && ( $field['type'] != "ace_editor" ) ) { // Sorter data filter - if ( $field['type'] == "sorter" && isset( $field['data'] ) && ! empty( $field['data'] ) && is_array( $field['data'] ) ) { - if ( ! isset( $field['args'] ) ) { + if ( $field['type'] == "sorter" && isset ( $field['data'] ) && ! empty ( $field['data'] ) && is_array( $field['data'] ) ) { + if ( ! isset ( $field['args'] ) ) { $field['args'] = array(); } foreach ( $field['data'] as $key => $data ) { - if ( ! isset( $field['args'][ $key ] ) ) { + if ( ! isset ( $field['args'][ $key ] ) ) { $field['args'][ $key ] = array(); } $field['options'][ $key ] = $this->get_wordpress_data( $data, $field['args'][ $key ] ); @@ -1188,7 +1202,7 @@ * * @param array $defaults option default values */ - $this->transients['changed_values'] = isset( $this->transients['changed_values'] ) ? $this->transients['changed_values'] : array(); + $this->transients['changed_values'] = isset ( $this->transients['changed_values'] ) ? $this->transients['changed_values'] : array(); $this->options_defaults = apply_filters( "redux/options/{$this->args['opt_name']}/defaults", $this->options_defaults, $this->transients['changed_values'] ); return $this->options_defaults; @@ -1207,6 +1221,29 @@ if ( $this->args['global_variable'] == "" && $this->args['global_variable'] !== false ) { $this->args['global_variable'] = str_replace( '-', '_', $this->args['opt_name'] ); } + + // Force dev_mode on WP_DEBUG = true and if it's a local server + if ( Redux_Helpers::isLocalHost() || ( Redux_Helpers::isWpDebug() ) ) { + if ( $this->args['dev_mode'] != true ) { + $this->args['update_notice'] = false; + } + $this->dev_mode_forced = true; + $this->args['dev_mode'] = true; + } + + // Auto create the page_slug appropriately + if ( empty( $this->args['page_slug'] ) ) { + if ( ! empty( $this->args['display_name'] ) ) { + $this->args['page_slug'] = sanitize_html_class( $this->args['display_name'] ); + } else if ( ! empty( $this->args['page_title'] ) ) { + $this->args['page_slug'] = sanitize_html_class( $this->args['page_title'] ); + } else if ( ! empty( $this->args['menu_title'] ) ) { + $this->args['page_slug'] = sanitize_html_class( $this->args['menu_title'] ); + } else { + $this->args['page_slug'] = str_replace( '-', '_', $this->args['opt_name'] ); + } + } + } /** @@ -1236,10 +1273,10 @@ 'options-general.php' => 'options', ); - if ( isset( $test[ $page_parent ] ) ) { + if ( isset ( $test[ $page_parent ] ) ) { $function = 'add_' . $test[ $page_parent ] . '_page'; - $this->page = $function( - $page_title, $menu_title, $page_permissions, $page_slug, array( $this, '_options_page_html' ) + $this->page = $function ( + $page_title, $menu_title, $page_permissions, $page_slug, array( $this, 'generate_panel' ) ); } else { // Network settings and Post type menus. These do not have @@ -1268,25 +1305,24 @@ $addMenu = true; } // custom menu - } elseif ( isset( $submenu[ $this->args['page_parent'] ] ) ) { + } elseif ( isset ( $submenu[ $this->args['page_parent'] ] ) ) { $addMenu = true; } else { global $menu; - - foreach( $menu as $menupriority => $menuitem ) { - $needle_menu_slug = isset($menuitem) ? $menuitem[2] : false; - if( $needle_menu_slug != false ) { - + + foreach ( $menu as $menupriority => $menuitem ) { + $needle_menu_slug = isset ( $menuitem ) ? $menuitem[2] : false; + if ( $needle_menu_slug != false ) { + // check if the current needle menu equals page_parent - if (strcasecmp($needle_menu_slug, $page_parent) == 0) { - + if ( strcasecmp( $needle_menu_slug, $page_parent ) == 0 ) { + // found an empty parent menu $addMenu = true; } } - } + } } - } else { // The page_parent was settings.php, so set menu add // flag to true. @@ -1297,7 +1333,7 @@ $this->page = add_submenu_page( $page_parent, $page_title, $menu_title, $page_permissions, $page_slug, array( &$this, - '_options_page_html' + 'generate_panel' ) ); } @@ -1312,55 +1348,49 @@ * @return void */ public function _options_page() { - $this->import_export->in_field(); if ( $this->args['menu_type'] == 'hidden' ) { // No menu to add! - } else if ( $this->args['menu_type'] == 'submenu' ) { $this->add_submenu( - $this->args['page_parent'], - $this->args['page_title'], - $this->args['menu_title'], - $this->args['page_permissions'], - $this->args['page_slug'] + $this->args['page_parent'], $this->args['page_title'], $this->args['menu_title'], $this->args['page_permissions'], $this->args['page_slug'] ); - } else { $this->page = add_menu_page( - $this->args['page_title'], - $this->args['menu_title'], - $this->args['page_permissions'], - $this->args['page_slug'], - array( &$this, '_options_page_html' ), - $this->args['menu_icon'], - $this->args['page_priority'] + $this->args['page_title'], $this->args['menu_title'], $this->args['page_permissions'], $this->args['page_slug'], array( + &$this, + 'generate_panel' + ), $this->args['menu_icon'], $this->args['page_priority'] ); if ( true === $this->args['allow_sub_menu'] ) { - if ( ! isset( $section['type'] ) || $section['type'] != 'divide' ) { + if ( ! isset ( $section['type'] ) || $section['type'] != 'divide' ) { foreach ( $this->sections as $k => $section ) { - $canBeSubSection = ( $k > 0 && ( ! isset( $this->sections[ ( $k ) ]['type'] ) || $this->sections[ ( $k ) ]['type'] != "divide" ) ) ? true : false; + $canBeSubSection = ( $k > 0 && ( ! isset ( $this->sections[ ( $k ) ]['type'] ) || $this->sections[ ( $k ) ]['type'] != "divide" ) ) ? true : false; - if ( ! isset( $section['title'] ) || ( $canBeSubSection && ( isset( $section['subsection'] ) && $section['subsection'] == true ) ) ) { + if ( ! isset ( $section['title'] ) || ( $canBeSubSection && ( isset ( $section['subsection'] ) && $section['subsection'] == true ) ) ) { continue; } - if ( isset( $section['submenu'] ) && $section['submenu'] == false ) { + if ( isset ( $section['submenu'] ) && $section['submenu'] == false ) { continue; } - if ( isset( $section['customizer_only'] ) && $section['customizer_only'] == true ) { + if ( isset ( $section['customizer_only'] ) && $section['customizer_only'] == true ) { + continue; + } + + if ( isset ( $section['hidden'] ) && $section['hidden'] == true ) { + continue; + } + + if ( isset( $section['permissions'] ) && ! current_user_can( $section['permissions'] ) ) { continue; } add_submenu_page( - $this->args['page_slug'], - $section['title'], - $section['title'], - $this->args['page_permissions'], - $this->args['page_slug'] . '&tab=' . $k, + $this->args['page_slug'], $section['title'], $section['title'], $this->args['page_permissions'], $this->args['page_slug'] . '&tab=' . $k, //create_function( '$a', "return null;" ) '__return_null' ); @@ -1370,29 +1400,21 @@ remove_submenu_page( $this->args['page_slug'], $this->args['page_slug'] ); } - if ( true == $this->args['show_import_export'] && false == $this->import_export->is_field ) { - $this->import_export->add_submenu(); - } - if ( true == $this->args['dev_mode'] ) { $this->debug->add_submenu(); } if ( true == $this->args['system_info'] ) { add_submenu_page( - $this->args['page_slug'], - __( 'System Info', 'redux-framework' ), - __( 'System Info', 'redux-framework' ), - $this->args['page_permissions'], - $this->args['page_slug'] . '&tab=system_info_default', - '__return_null' + $this->args['page_slug'], __( 'System Info', 'redux-framework' ), __( 'System Info', 'redux-framework' ), $this->args['page_permissions'], $this->args['page_slug'] . '&tab=system_info_default', '__return_null' ); } } } add_action( "load-{$this->page}", array( &$this, '_load_page' ) ); - } // _options_page() + } +// _options_page() /** * Add admin bar menu @@ -1414,10 +1436,10 @@ if ( $menu ) { foreach ( $menu as $menu_item ) { - if ( isset( $menu_item[2] ) && $menu_item[2] === $this->args["page_slug"] ) { + if ( isset ( $menu_item[2] ) && $menu_item[2] === $this->args["page_slug"] ) { // Fetch the title - $title = empty( $this->args['admin_bar_icon'] ) ? $menu_item[0] : '' . $menu_item[0]; + $title = empty ( $this->args['admin_bar_icon'] ) ? $menu_item[0] : '' . $menu_item[0]; $nodeargs = array( 'id' => $menu_item[2], @@ -1431,7 +1453,7 @@ } } - if ( isset( $submenu[ $this->args["page_slug"] ] ) && is_array( $submenu[ $this->args["page_slug"] ] ) ) { + if ( isset ( $submenu[ $this->args["page_slug"] ] ) && is_array( $submenu[ $this->args["page_slug"] ] ) ) { foreach ( $submenu[ $this->args["page_slug"] ] as $index => $redux_options_submenu ) { $subnodeargs = array( 'id' => $this->args["page_slug"] . '_' . $index, @@ -1445,7 +1467,7 @@ } // Let's deal with external links - if ( isset( $this->args['admin_bar_links'] ) ) { + if ( isset ( $this->args['admin_bar_links'] ) ) { // Group for Main Root Menu (External Group) $wp_admin_bar->add_node( array( @@ -1457,7 +1479,7 @@ // Add Child Menus to External Group Menu foreach ( $this->args['admin_bar_links'] as $link ) { - if ( ! isset( $link['id'] ) ) { + if ( ! isset ( $link['id'] ) ) { $link['id'] = $this->args["page_slug"] . '-sub-' . sanitize_html_class( $link['title'] ); } $externalnodeargs = array( @@ -1473,7 +1495,7 @@ } } else { // Fetch the title - $title = empty( $this->args['admin_bar_icon'] ) ? $this->args['menu_title'] : '' . $this->args['menu_title']; + $title = empty ( $this->args['admin_bar_icon'] ) ? $this->args['menu_title'] : '' . $this->args['menu_title']; $nodeargs = array( 'id' => $this->args["page_slug"], @@ -1485,7 +1507,8 @@ $wp_admin_bar->add_node( $nodeargs ); } - } // _admin_bar_menu() + } +// _admin_bar_menu() /** * Output dynamic CSS at bottom of HEAD @@ -1499,11 +1522,11 @@ return; } - if ( isset( $this->no_output ) ) { + if ( isset ( $this->no_output ) ) { return; } - if ( ! empty( $this->outputCSS ) && ( $this->args['output_tag'] == true || ( isset( $_POST['customized'] ) ) ) ) { + if ( ! empty ( $this->outputCSS ) && ( $this->args['output_tag'] == true || ( isset ( $_POST['customized'] ) ) ) ) { echo ''; } } @@ -1522,18 +1545,18 @@ /** @noinspection PhpUnusedLocalVariableInspection */ foreach ( $this->sections as $k => $section ) { - if ( isset( $section['type'] ) && ( $section['type'] == 'divide' ) ) { + if ( isset ( $section['type'] ) && ( $section['type'] == 'divide' ) ) { continue; } - if ( isset( $section['fields'] ) ) { + if ( isset ( $section['fields'] ) ) { /** @noinspection PhpUnusedLocalVariableInspection */ foreach ( $section['fields'] as $fieldk => $field ) { - if ( isset( $field['type'] ) && $field['type'] != "callback" ) { + if ( isset ( $field['type'] ) && $field['type'] != "callback" ) { $field_class = "ReduxFramework_{$field['type']}"; if ( ! class_exists( $field_class ) ) { - if ( ! isset( $field['compiler'] ) ) { + if ( ! isset ( $field['compiler'] ) ) { $field['compiler'] = ""; } @@ -1552,17 +1575,17 @@ } } - if ( ! empty( $this->options[ $field['id'] ] ) && class_exists( $field_class ) && method_exists( $field_class, 'output' ) && $this->_can_output_css( $field ) ) { + if ( ! empty ( $this->options[ $field['id'] ] ) && class_exists( $field_class ) && method_exists( $field_class, 'output' ) && $this->_can_output_css( $field ) ) { $field = apply_filters( "redux/field/{$this->args['opt_name']}/output_css", $field ); - if ( ! empty( $field['output'] ) && ! is_array( $field['output'] ) ) { + if ( ! empty ( $field['output'] ) && ! is_array( $field['output'] ) ) { $field['output'] = array( $field['output'] ); } - $value = isset( $this->options[ $field['id'] ] ) ? $this->options[ $field['id'] ] : ''; - $enqueue = new $field_class( $field, $value, $this ); + $value = isset ( $this->options[ $field['id'] ] ) ? $this->options[ $field['id'] ] : ''; + $enqueue = new $field_class ( $field, $value, $this ); - if ( ( ( isset( $field['output'] ) && ! empty( $field['output'] ) ) || ( isset( $field['compiler'] ) && ! empty( $field['compiler'] ) ) || $field['type'] == "typography" || $field['type'] == "icon_select" ) ) { + if ( ( ( isset ( $field['output'] ) && ! empty ( $field['output'] ) ) || ( isset ( $field['compiler'] ) && ! empty ( $field['compiler'] ) ) || $field['type'] == "typography" || $field['type'] == "icon_select" ) ) { $enqueue->output(); } } @@ -1572,27 +1595,26 @@ } // For use like in the customizer. Stops the output, but passes the CSS in the variable for the compiler - if ( isset( $this->no_output ) ) { + if ( isset ( $this->no_output ) ) { return; } - if ( ! empty( $this->typography ) && ! empty( $this->typography ) && filter_var( $this->args['output'], FILTER_VALIDATE_BOOLEAN ) ) { - $version = ! empty( $this->transients['last_save'] ) ? $this->transients['last_save'] : ''; - $typography = new ReduxFramework_typography( null, null, $this ); + if ( ! empty ( $this->typography ) && ! empty ( $this->typography ) && filter_var( $this->args['output'], FILTER_VALIDATE_BOOLEAN ) ) { + $version = ! empty ( $this->transients['last_save'] ) ? $this->transients['last_save'] : ''; + $typography = new ReduxFramework_typography ( null, null, $this ); - if ( $this->args['async_typography'] && ! empty( $this->typography ) ) { + if ( $this->args['async_typography'] && ! empty ( $this->typography ) ) { $families = array(); foreach ( $this->typography as $key => $value ) { $families[] = $key; } - ?> args['disable_google_fonts_link'] ) { - $protocol = ( ! empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443 ) ? "https:" : "http:"; + $protocol = ( ! empty ( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443 ) ? "https:" : "http:"; //echo ''; wp_register_style( 'redux-google-fonts-' . $this->args['opt_name'], $protocol . $typography->makeGoogleWebfontLink( $this->typography ), '', $version ); wp_enqueue_style( 'redux-google-fonts-' . $this->args['opt_name'] ); } } - - } // _enqueue_output() + } +// _enqueue_output() /** * Enqueue CSS/JS for options page @@ -1624,8 +1646,9 @@ * @return void */ public function _enqueue() { - include_once('core/enqueue.php'); - new reduxCoreEnqueue($this); + include_once( 'core/enqueue.php' ); + $enqueue = new reduxCoreEnqueue ( $this ); + $enqueue->init(); // if ($this->args['sass']['enabled']) { @@ -1643,7 +1666,8 @@ // } // } // } - } // _enqueue() + } +// _enqueue() /** * Show page help @@ -1679,7 +1703,7 @@ $curPage = $_GET['page']; $curTab = '0'; - if ( isset( $_GET['tab'] ) ) { + if ( isset ( $_GET['tab'] ) ) { $curTab = $_GET['tab']; } @@ -1743,8 +1767,8 @@ * @param object $screen WP_Screen */ do_action( "redux/page/{$this->args['opt_name']}/load", $screen ); - - } // _load_page() + } +// _load_page() /** * Do action redux-admin-head for options page @@ -1769,7 +1793,8 @@ * @param object $this ReduxFramework */ do_action( "redux/page/{$this->args['opt_name']}/header", $this ); - } // admin_head() + } +// admin_head() /** * Return footer text @@ -1780,7 +1805,8 @@ */ public function admin_footer_text() { return $this->args['footer_credit']; - } // admin_footer_text() + } +// admin_footer_text() /** * Return default output string for use in panel @@ -1792,13 +1818,13 @@ private function get_default_output_string( $field ) { $default_output = ""; - if ( ! isset( $field['default'] ) ) { + if ( ! isset ( $field['default'] ) ) { $field['default'] = ""; } if ( ! is_array( $field['default'] ) ) { - if ( ! empty( $field['options'][ $field['default'] ] ) ) { - if ( ! empty( $field['options'][ $field['default'] ]['alt'] ) ) { + if ( ! empty ( $field['options'][ $field['default'] ] ) ) { + if ( ! empty ( $field['options'][ $field['default'] ]['alt'] ) ) { $default_output .= $field['options'][ $field['default'] ]['alt'] . ', '; } else { // TODO: This serialize fix may not be the best solution. Look into it. PHP 5.4 error without serialize @@ -1808,10 +1834,10 @@ $default_output .= serialize( $field['options'][ $field['default'] ] ) . ", "; } } - } else if ( ! empty( $field['options'][ $field['default'] ] ) ) { + } else if ( ! empty ( $field['options'][ $field['default'] ] ) ) { $default_output .= $field['options'][ $field['default'] ] . ", "; - } else if ( ! empty( $field['default'] ) ) { - if ( $field['type'] == 'switch' && isset( $field['on'] ) && isset( $field['off'] ) ) { + } else if ( ! empty ( $field['default'] ) ) { + if ( $field['type'] == 'switch' && isset ( $field['on'] ) && isset ( $field['off'] ) ) { $default_output .= ( $field['default'] == 1 ? $field['on'] : $field['off'] ) . ', '; } else { $default_output .= $field['default'] . ', '; @@ -1819,28 +1845,30 @@ } } else { foreach ( $field['default'] as $defaultk => $defaultv ) { - if ( ! empty( $field['options'][ $defaultv ]['alt'] ) ) { + if ( ! empty ( $field['options'][ $defaultv ]['alt'] ) ) { $default_output .= $field['options'][ $defaultv ]['alt'] . ', '; - } else if ( ! empty( $field['options'][ $defaultv ] ) ) { + } else if ( ! empty ( $field['options'][ $defaultv ] ) ) { $default_output .= $field['options'][ $defaultv ] . ", "; - } else if ( ! empty( $field['options'][ $defaultk ] ) ) { + } else if ( ! empty ( $field['options'][ $defaultk ] ) ) { $default_output .= $field['options'][ $defaultk ] . ", "; - } else if ( ! empty( $defaultv ) ) { + } else if ( ! empty ( $defaultv ) ) { $default_output .= $defaultv . ', '; } } } - if ( ! empty( $default_output ) ) { + if ( ! empty ( $default_output ) ) { $default_output = __( 'Default', 'redux-framework' ) . ": " . substr( $default_output, 0, - 2 ); } - if ( ! empty( $default_output ) ) { + if ( ! empty ( $default_output ) ) { $default_output = '' . $default_output . '
'; } return $default_output; - } // get_default_output_string() + } + +// get_default_output_string() public function get_header_html( $field ) { global $current_user; @@ -1849,22 +1877,22 @@ $hint = ''; $th = ""; - if ( isset( $field['title'] ) && isset( $field['type'] ) && $field['type'] !== "info" && $field['type'] !== "section" ) { - $default_mark = ( ! empty( $field['default'] ) && isset( $this->options[ $field['id'] ] ) && $this->options[ $field['id'] ] == $field['default'] && ! empty( $this->args['default_mark'] ) && isset( $field['default'] ) ) ? $this->args['default_mark'] : ''; + if ( isset ( $field['title'] ) && isset ( $field['type'] ) && $field['type'] !== "info" && $field['type'] !== "section" ) { + $default_mark = ( ! empty ( $field['default'] ) && isset ( $this->options[ $field['id'] ] ) && $this->options[ $field['id'] ] == $field['default'] && ! empty ( $this->args['default_mark'] ) && isset ( $field['default'] ) ) ? $this->args['default_mark'] : ''; // If a hint is specified in the field, process it. - if ( isset( $field['hint'] ) && ! '' == $field['hint'] ) { + if ( isset ( $field['hint'] ) && ! '' == $field['hint'] ) { // Set show_hints flag to true, so helptab will be displayed. $this->show_hints = true; // Get user pref for displaying hints. $metaVal = get_user_meta( $current_user->ID, 'ignore_hints', true ); - if ( 'true' == $metaVal || empty( $metaVal ) ) { + if ( 'true' == $metaVal || empty ( $metaVal ) ) { // Set hand cursor for clickable hints $pointer = ''; - if ( isset( $this->args['hints']['tip_effect']['show']['event'] ) && 'click' == $this->args['hints']['tip_effect']['show']['event'] ) { + if ( isset ( $this->args['hints']['tip_effect']['show']['event'] ) && 'click' == $this->args['hints']['tip_effect']['show']['event'] ) { $pointer = 'pointer'; } @@ -1874,17 +1902,17 @@ } // In case docs are ignored. - $titleParam = isset( $field['hint']['title'] ) ? $field['hint']['title'] : ''; - $contentParam = isset( $field['hint']['content'] ) ? $field['hint']['content'] : ''; + $titleParam = isset ( $field['hint']['title'] ) ? $field['hint']['title'] : ''; + $contentParam = isset ( $field['hint']['content'] ) ? $field['hint']['content'] : ''; - $hint_color = isset( $this->args['hints']['icon_color'] ) ? $this->args['hints']['icon_color'] : '#d3d3d3'; + $hint_color = isset ( $this->args['hints']['icon_color'] ) ? $this->args['hints']['icon_color'] : '#d3d3d3'; // Set hint html with appropriate position css - $hint = '
  
'; + $hint = '
  
'; } } - if ( ! empty( $field['title'] ) ) { + if ( ! empty ( $field['title'] ) ) { if ( 'left' == $this->args['hints']['icon_position'] ) { $th = $hint . $field['title'] . $default_mark . ""; } else { @@ -1892,23 +1920,33 @@ } } - if ( isset( $field['subtitle'] ) ) { + if ( isset ( $field['subtitle'] ) ) { $th .= '' . $field['subtitle'] . ''; } } - if ( ! empty( $th ) ) { + if ( ! empty ( $th ) ) { $th = '
' . $th . '
'; } - if ( $this->args['default_show'] === true && isset( $field['default'] ) && isset( $this->options[ $field['id'] ] ) && $this->options[ $field['id'] ] != $field['default'] && $field['type'] !== "info" && $field['type'] !== "group" && $field['type'] !== "section" && $field['type'] !== "editor" && $field['type'] !== "ace_editor" ) { + $filter_arr = array( + 'editor', + 'ace_editor', + 'info', + 'section', + 'repeater', + 'color_scheme', + 'social_profiles', + 'css_layout' + ); + + if ( $this->args['default_show'] == true && isset ( $field['default'] ) && isset ( $this->options[ $field['id'] ] ) && $this->options[ $field['id'] ] != $field['default'] && ! in_array( $field['type'], $filter_arr ) ) { $th .= $this->get_default_output_string( $field ); } return $th; } - /** * Register Option for use * @@ -1934,19 +1972,21 @@ return; } - $this->options_defaults = $this->_default_values(); + if ( empty( $this->options_defaults ) ) { + $this->options_defaults = $this->_default_values(); + } $runUpdate = false; foreach ( $this->sections as $k => $section ) { - if ( isset( $section['type'] ) && $section['type'] == 'divide' ) { + if ( isset ( $section['type'] ) && $section['type'] == 'divide' ) { continue; } $display = true; - if ( isset( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { - if ( isset( $section['panel'] ) && $section['panel'] == false ) { + if ( isset ( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { + if ( isset ( $section['panel'] ) && $section['panel'] == false ) { $display = false; } } @@ -1965,22 +2005,22 @@ * * @param array $section section configuration */ - if ( isset( $section['id'] ) ) { + if ( isset ( $section['id'] ) ) { $section = apply_filters( "redux/options/{$this->args['opt_name']}/section/{$section['id']}", $section ); } - if ( empty( $section ) ) { - unset($this->sections[$k]); - continue; - } + if ( empty ( $section ) ) { + unset ( $this->sections[ $k ] ); + continue; + } - if ( ! isset( $section['title'] ) ) { + if ( ! isset ( $section['title'] ) ) { $section['title'] = ""; } - $heading = isset( $section['heading'] ) ? $section['heading'] : $section['title']; + $heading = isset ( $section['heading'] ) ? $section['heading'] : $section['title']; - if ( isset( $section['permissions'] ) ) { + if ( isset ( $section['permissions'] ) ) { if ( ! current_user_can( $section['permissions'] ) ) { $this->hidden_perm_sections[] = $section['title']; @@ -1989,8 +2029,8 @@ if ( $field_type != 'section' || $field_type != 'divide' || $field_type != 'info' || $field_type != 'raw' ) { $field_id = $field_data['id']; - $default = isset( $this->options_defaults[ $field_id ] ) ? $this->options_defaults[ $field_id ] : ''; - $data = isset( $this->options[ $field_id ] ) ? $this->options[ $field_id ] : $default; + $default = isset ( $this->options_defaults[ $field_id ] ) ? $this->options_defaults[ $field_id ] : ''; + $data = isset ( $this->options[ $field_id ] ) ? $this->options[ $field_id ] : $default; $this->hidden_perm_fields[ $field_id ] = $data; } @@ -2010,12 +2050,35 @@ } $sectionIndent = false; - if ( isset( $section['fields'] ) ) { + if ( isset ( $section['fields'] ) ) { foreach ( $section['fields'] as $fieldk => $field ) { - if ( ! isset( $field['type'] ) ) { + if ( ! isset ( $field['type'] ) ) { continue; // You need a type! } + if ( $field['type'] == "info" && isset( $field['raw_html'] ) && $field['raw_html'] == true ) { + $field['type'] = "raw"; + $field['content'] = $field['desc']; + $field['desc'] = ""; + $this->sections[ $k ]['fields'][ $fieldk ] = $field; + } else if ( $field['type'] == "info" ) { + if ( ! isset( $field['full_width'] ) ) { + $field['full_width'] = true; + $this->sections[ $k ]['fields'][ $fieldk ] = $field; + } + } + + if ( $field['type'] == "raw" ) { + if ( isset( $field['align'] ) ) { + $field['full_width'] = $field['align'] ? false : true; + unset( $field['align'] ); + } else if ( ! isset( $field['full_width'] ) ) { + $field['full_width'] = true; + } + $this->sections[ $k ]['fields'][ $fieldk ] = $field; + } + + /** * filter 'redux/options/{opt_name}/field/{field.id}' * @@ -2024,40 +2087,25 @@ $field = apply_filters( "redux/options/{$this->args['opt_name']}/field/{$field['id']}/register", $field ); - $this->field_types[$field['type']] = isset($this->field_types[$field['type']]) ? $this->field_types[$field['type']] : array(); + $this->field_types[ $field['type'] ] = isset ( $this->field_types[ $field['type'] ] ) ? $this->field_types[ $field['type'] ] : array(); - $this->field_sections[$field['type']][$field['id']] = $k; + $this->field_sections[ $field['type'] ][ $field['id'] ] = $k; $display = true; - if ( isset( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { - if ( isset( $field['panel'] ) && $field['panel'] == false ) { + if ( isset ( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { + if ( isset ( $field['panel'] ) && $field['panel'] == false ) { $display = false; } } - if ( isset( $field['customizer_only'] ) && $field['customizer_only'] == true ) { + if ( isset ( $field['customizer_only'] ) && $field['customizer_only'] == true ) { //$display = false; } - - // TODO AFTER GROUP WORKS - Remove IF statement -// if ( $field['type'] == "group" && isset( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { -// if ( $this->args['dev_mode'] ) { -// $this->admin_notices[] = array( -// 'type' => 'error', -// 'msg' => 'The group field has been removed while we retool it for improved performance.', -// 'id' => 'group_err', -// 'dismiss' => true, -// ); -// } -// continue; // Disabled for now -// } - - - if ( isset( $field['permissions'] ) ) { + if ( isset ( $field['permissions'] ) ) { if ( ! current_user_can( $field['permissions'] ) ) { - $data = isset( $this->options[ $field['id'] ] ) ? $this->options[ $field['id'] ] : $this->options_defaults[ $field['id'] ]; + $data = isset ( $this->options[ $field['id'] ] ) ? $this->options[ $field['id'] ] : $this->options_defaults[ $field['id'] ]; $this->hidden_perm_fields[ $field['id'] ] = $data; @@ -2065,40 +2113,22 @@ } } - - if (isset($field['wpml']) && function_exists('icl_register_string') && !empty($field['wpml'])) { - - $data = isset( $this->options[ $field['id'] ] ) ? $this->options[ $field['id'] ] : ''; - $context = ""; - - if (is_string($field['wpml'])) { - $context = $field['wpml']; - } else if (isset($this->args['display_name']) && !empty($this->args['display_name'])) { - $context = $this->args['display_name']; - } else if (isset($this->args['menu_name']) && !empty($this->args['menu_name'])) { - $context = $this->args['menu_name']; - } - - icl_register_string($context, $field['title'], $data); - } - - - if ( ! isset( $field['id'] ) ) { + if ( ! isset ( $field['id'] ) ) { echo '

No field ID is set.

';
                                 print_r( $field );
                                 echo "

"; continue; } - if ( isset( $field['type'] ) && $field['type'] == "section" ) { - if ( isset( $field['indent'] ) && $field['indent'] == true ) { + if ( isset ( $field['type'] ) && $field['type'] == "section" ) { + if ( isset ( $field['indent'] ) && $field['indent'] == true ) { $sectionIndent = true; } else { $sectionIndent = false; } } - if ( isset( $field['type'] ) && $field['type'] == "info" && $sectionIndent ) { + if ( isset ( $field['type'] ) && $field['type'] == "info" && $sectionIndent ) { $field['indent'] = $sectionIndent; } @@ -2107,19 +2137,19 @@ $field['name'] = $this->args['opt_name'] . '[' . $field['id'] . ']'; // Set the default value if present - $this->options_defaults[ $field['id'] ] = isset( $this->options_defaults[ $field['id'] ] ) ? $this->options_defaults[ $field['id'] ] : ''; + $this->options_defaults[ $field['id'] ] = isset ( $this->options_defaults[ $field['id'] ] ) ? $this->options_defaults[ $field['id'] ] : ''; // Set the defaults to the value if not present $doUpdate = false; // Check fields for values in the default parameter - if ( ! isset( $this->options[ $field['id'] ] ) && isset( $field['default'] ) ) { + if ( ! isset ( $this->options[ $field['id'] ] ) && isset ( $field['default'] ) ) { $this->options_defaults[ $field['id'] ] = $this->options[ $field['id'] ] = $field['default']; $doUpdate = true; // Check fields that hae no default value, but an options value with settings to // be saved by default - } elseif ( ! isset( $this->options[ $field['id'] ] ) && isset( $field['options'] ) ) { + } elseif ( ! isset ( $this->options[ $field['id'] ] ) && isset ( $field['options'] ) ) { // If sorter field, check for options as save them as defaults if ( $field['type'] == 'sorter' || $field['type'] == 'sortable' ) { @@ -2130,10 +2160,10 @@ // CORRECT URLS if media URLs are wrong, but attachment IDs are present. if ( $field['type'] == "media" ) { - if ( isset( $this->options[ $field['id'] ]['id'] ) && isset( $this->options[ $field['id'] ]['url'] ) && ! empty( $this->options[ $field['id'] ]['url'] ) && strpos( $this->options[ $field['id'] ]['url'], str_replace( 'http://', '', WP_CONTENT_URL ) ) === false ) { + if ( isset ( $this->options[ $field['id'] ]['id'] ) && isset ( $this->options[ $field['id'] ]['url'] ) && ! empty ( $this->options[ $field['id'] ]['url'] ) && strpos( $this->options[ $field['id'] ]['url'], str_replace( 'http://', '', WP_CONTENT_URL ) ) === false ) { $data = wp_get_attachment_url( $this->options[ $field['id'] ]['id'] ); - if ( isset( $data ) && ! empty( $data ) ) { + if ( isset ( $data ) && ! empty ( $data ) ) { $this->options[ $field['id'] ]['url'] = $data; $data = wp_get_attachment_image_src( $this->options[ $field['id'] ]['id'], array( 150, @@ -2146,10 +2176,10 @@ } if ( $field['type'] == "background" ) { - if ( isset( $this->options[ $field['id'] ]['media']['id'] ) && isset( $this->options[ $field['id'] ]['background-image'] ) && ! empty( $this->options[ $field['id'] ]['background-image'] ) && strpos( $this->options[ $field['id'] ]['background-image'], str_replace( 'http://', '', WP_CONTENT_URL ) ) === false ) { + if ( isset ( $this->options[ $field['id'] ]['media']['id'] ) && isset ( $this->options[ $field['id'] ]['background-image'] ) && ! empty ( $this->options[ $field['id'] ]['background-image'] ) && strpos( $this->options[ $field['id'] ]['background-image'], str_replace( 'http://', '', WP_CONTENT_URL ) ) === false ) { $data = wp_get_attachment_url( $this->options[ $field['id'] ]['media']['id'] ); - if ( isset( $data ) && ! empty( $data ) ) { + if ( isset ( $data ) && ! empty ( $data ) ) { $this->options[ $field['id'] ]['background-image'] = $data; $data = wp_get_attachment_image_src( $this->options[ $field['id'] ]['media']['id'], array( 150, @@ -2162,25 +2192,25 @@ } if ( $field['type'] == "slides" ) { - if ( isset( $this->options[ $field['id'] ][0]['attachment_id'] ) && isset( $this->options[ $field['id'] ][0]['image'] ) && ! empty( $this->options[ $field['id'] ][0]['image'] ) && strpos( $this->options[ $field['id'] ][0]['image'], str_replace( 'http://', '', WP_CONTENT_URL ) ) === false ) { + if ( isset ( $this->options[ $field['id'] ] ) && is_array( $this->options[ $field['id'] ] ) && isset ( $this->options[ $field['id'] ][0]['attachment_id'] ) && isset ( $this->options[ $field['id'] ][0]['image'] ) && ! empty ( $this->options[ $field['id'] ][0]['image'] ) && strpos( $this->options[ $field['id'] ][0]['image'], str_replace( 'http://', '', WP_CONTENT_URL ) ) === false ) { foreach ( $this->options[ $field['id'] ] as $key => $val ) { $data = wp_get_attachment_url( $val['attachment_id'] ); - if ( isset( $data ) && ! empty( $data ) ) { + if ( isset ( $data ) && ! empty ( $data ) ) { $this->options[ $field['id'] ][ $key ]['image'] = $data; - $data = wp_get_attachment_image_src( $val['attachment_id'], array( + $data = wp_get_attachment_image_src( $val['attachment_id'], array( 150, 150 ) ); $this->options[ $field['id'] ][ $key ]['thumb'] = $data[0]; - $doUpdate = true; + $doUpdate = true; } } } } // END -> CORRECT URLS if media URLs are wrong, but attachment IDs are present. - if ( true == $doUpdate && ! isset( $this->never_save_to_db ) ) { + if ( true == $doUpdate && ! isset ( $this->never_save_to_db ) ) { if ( $this->args['save_defaults'] ) { // Only save that to the DB if allowed to $runUpdate = true; } @@ -2189,7 +2219,7 @@ //} } - if ( ! isset( $field['class'] ) ) { // No errors please + if ( ! isset ( $field['class'] ) ) { // No errors please $field['class'] = ""; } $id = $field['id']; @@ -2210,32 +2240,32 @@ */ $field = apply_filters( "redux/options/{$this->args['opt_name']}/field/{$field['id']}", $field ); - if ( empty( $field ) || ! $field || $field == false ) { - unset( $this->sections[ $k ]['fields'][ $fieldk ] ); + if ( empty ( $field ) || ! $field || $field == false ) { + unset ( $this->sections[ $k ]['fields'][ $fieldk ] ); continue; } - if ( ! empty( $this->folds[ $field['id'] ]['parent'] ) ) { // This has some fold items, hide it by default + if ( ! empty ( $this->folds[ $field['id'] ]['parent'] ) ) { // This has some fold items, hide it by default $field['class'] .= " fold"; } - if ( ! empty( $this->folds[ $field['id'] ]['children'] ) ) { // Sets the values you shoe fold children on + if ( ! empty ( $this->folds[ $field['id'] ]['children'] ) ) { // Sets the values you shoe fold children on $field['class'] .= " foldParent"; } - if ( ! empty( $field['compiler'] ) ) { + if ( ! empty ( $field['compiler'] ) ) { $field['class'] .= " compiler"; $this->compiler_fields[ $field['id'] ] = 1; } - if ( isset( $field['unit'] ) && ! isset( $field['units'] ) ) { + if ( isset ( $field['unit'] ) && ! isset ( $field['units'] ) ) { $field['units'] = $field['unit']; - unset( $field['unit'] ); + unset ( $field['unit'] ); } $this->sections[ $k ]['fields'][ $fieldk ] = $field; - if ( isset( $this->args['display_source'] ) ) { + if ( isset ( $this->args['display_source'] ) ) { $th .= ''; $th .= '
View Source'; } @@ -2247,21 +2277,20 @@ $this->check_dependencies( $field ); - if ( ! $display || isset( $this->no_panel_section[ $k ] ) ) { + if ( ! $display || isset ( $this->no_panel_section[ $k ] ) ) { $this->no_panel[] = $field['id']; } else { - if (isset($field['hidden']) && $field['hidden']) { + if ( isset ( $field['hidden'] ) && $field['hidden'] ) { $field['label_for'] = 'redux_hide_field'; } - + add_settings_field( - "{$fieldk}_field", - $th, - array( &$this, '_field_input' ), - "{$this->args['opt_name']}{$k}_section_group", - "{$this->args['opt_name']}{$k}_section", - $field - ); // checkbox + "{$fieldk}_field", $th, array( + &$this, + '_field_input' + ), "{$this->args['opt_name']}{$k}_section_group", "{$this->args['opt_name']}{$k}_section", $field + ); + } } } @@ -2281,11 +2310,11 @@ */ do_action( "redux/options/{$this->args['opt_name']}/register", $this->sections ); - if ( $runUpdate && ! isset( $this->never_save_to_db ) ) { // Always update the DB with new fields + if ( $runUpdate && ! isset ( $this->never_save_to_db ) ) { // Always update the DB with new fields $this->set_options( $this->options ); } - if ( isset( $this->transients['run_compiler'] ) && $this->transients['run_compiler'] ) { + if ( isset ( $this->transients['run_compiler'] ) && $this->transients['run_compiler'] ) { $this->no_output = true; $this->_enqueue_output(); @@ -2302,13 +2331,13 @@ do_action( "redux-compiler-{$this->args['opt_name']}", $this->options, $this->compilerCSS, $this->transients['changed_values'] ); // REMOVE /** - * action 'redux/options/{opt_name}/compiler' + * action 'redux/options/{opt_name}a' * * @param array options * @param string CSS that get sent to the compiler hook */ do_action( "redux/options/{$this->args['opt_name']}/compiler", $this->options, $this->compilerCSS, $this->transients['changed_values'] ); - + /** * action 'redux/options/{opt_name}/compiler/advanced' * @@ -2317,11 +2346,11 @@ */ do_action( "redux/options/{$this->args['opt_name']}/compiler/advanced", $this ); - unset( $this->transients['run_compiler'] ); + unset ( $this->transients['run_compiler'] ); $this->set_transients(); } - - } // _register_settings() + } +// _register_settings() /** * Register Extensions for use @@ -2331,7 +2360,7 @@ * @return void */ private function _register_extensions() { - $path = dirname( __FILE__ ) . '/extensions/'; + $path = dirname( __FILE__ ) . '/inc/extensions/'; $folders = scandir( $path, 1 ); /** @@ -2371,9 +2400,8 @@ require_once( $class_file ); } - $this->extensions[ $folder ] = new $extension_class( $this ); + $this->extensions[ $folder ] = new $extension_class ( $this ); } - } /** @@ -2394,14 +2422,14 @@ } private function get_transients() { - if ( ! isset( $this->transients ) ) { + if ( ! isset ( $this->transients ) ) { $this->transients = get_option( $this->args['opt_name'] . '-transients', array() ); $this->transients_check = $this->transients; } } - private function set_transients() { - if ( ! isset( $this->transients ) || ! isset( $this->transients_check ) || $this->transients != $this->transients_check ) { + public function set_transients() { + if ( ! isset ( $this->transients ) || ! isset ( $this->transients_check ) || $this->transients != $this->transients_check ) { update_option( $this->args['opt_name'] . '-transients', $this->transients ); $this->transients_check = $this->transients; } @@ -2418,24 +2446,25 @@ * @return array|mixed|string|void */ public function _validate_options( $plugin_options ) { - - if (isset($this->validation_ran)) { +//print_r($plugin_options); + // exit(); + if ( isset ( $this->validation_ran ) ) { return $plugin_options; } $this->validation_ran = 1; // Save the values not in the panel - if ( isset( $plugin_options['redux-no_panel'] ) ) { + if ( isset ( $plugin_options['redux-no_panel'] ) ) { $keys = explode( '|', $plugin_options['redux-no_panel'] ); foreach ( $keys as $key ) { $plugin_options[ $key ] = $this->options[ $key ]; } - if ( isset( $plugin_options['redux-no_panel'] ) ) { - unset( $plugin_options['redux-no_panel'] ); + if ( isset ( $plugin_options['redux-no_panel'] ) ) { + unset ( $plugin_options['redux-no_panel'] ); } } - if ( ! empty( $this->hidden_perm_fields ) && is_array( $this->hidden_perm_fields ) ) { + if ( ! empty ( $this->hidden_perm_fields ) && is_array( $this->hidden_perm_fields ) ) { foreach ( $this->hidden_perm_fields as $id => $data ) { $plugin_options[ $id ] = $data; } @@ -2451,7 +2480,7 @@ $this->transients['last_save'] = $time; // Import - if ( ! empty( $plugin_options['import'] ) ) { + if ( ( isset( $plugin_options['import_code'] ) && ! empty( $plugin_options['import_code'] ) ) || ( isset( $plugin_options['import_link'] ) && ! empty( $plugin_options['import_link'] ) ) ) { $this->transients['last_save_mode'] = "import"; // Last save mode $this->transients['last_compiler'] = $time; $this->transients['last_import'] = $time; @@ -2463,15 +2492,15 @@ $import = wp_remote_retrieve_body( wp_remote_get( $plugin_options['import_link'] ) ); } - if ( ! empty( $import ) ) { + if ( ! empty ( $import ) ) { $imported_options = json_decode( $import, true ); } - if ( ! empty( $imported_options ) && is_array( $imported_options ) && isset( $imported_options['redux-backup'] ) && $imported_options['redux-backup'] == '1' ) { + if ( ! empty ( $imported_options ) && is_array( $imported_options ) && isset ( $imported_options['redux-backup'] ) && $imported_options['redux-backup'] == '1' ) { $this->transients['changed_values'] = array(); foreach ( $plugin_options as $key => $value ) { - if ( isset( $imported_options[ $key ] ) && $imported_options[ $key ] != $value ) { + if ( isset ( $imported_options[ $key ] ) && $imported_options[ $key ] != $value ) { $this->transients['changed_values'][ $key ] = $value; $plugin_options[ $key ] = $value; } @@ -2488,16 +2517,10 @@ $this->transients['changed_values'] ) ); - // Remove the import/export tab cookie. - if ( $_COOKIE['redux_current_tab'] == 'import_export_default' ) { - setcookie( 'redux_current_tab', '', 1, '/' ); - $_COOKIE['redux_current_tab'] = 1; - } - setcookie( 'redux_current_tab', '', 1, '/', $time + 1000, "/" ); $_COOKIE['redux_current_tab'] = 1; - unset( $plugin_options['defaults'], $plugin_options['compiler'], $plugin_options['import'], $plugin_options['import_code'] ); + unset ( $plugin_options['defaults'], $plugin_options['compiler'], $plugin_options['import'], $plugin_options['import_code'] ); if ( $this->args['database'] == 'transient' || $this->args['database'] == 'theme_mods' || $this->args['database'] == 'theme_mods_expanded' || $this->args['database'] == 'network' ) { $this->set_options( $plugin_options ); @@ -2513,8 +2536,8 @@ } // Reset all to defaults - if ( ! empty( $plugin_options['defaults'] ) ) { - if ( empty( $this->options_defaults ) ) { + if ( ! empty ( $plugin_options['defaults'] ) ) { + if ( empty ( $this->options_defaults ) ) { $this->options_defaults = $this->_default_values(); } @@ -2528,22 +2551,21 @@ // Section reset //setcookie('redux-compiler-' . $this->args['opt_name'], 1, time() + 3000, '/'); - + $this->transients['changed_values'] = array(); - if ( empty( $this->options ) ) { + if ( empty ( $this->options ) ) { $this->options = $this->options_defaults; } foreach ( $this->options as $key => $value ) { - if ( isset( $plugin_options[ $key ] ) && $value != $plugin_options[ $key ] ) { + if ( isset ( $plugin_options[ $key ] ) && $value != $plugin_options[ $key ] ) { $this->transients['changed_values'][ $key ] = $value; } } $this->transients['run_compiler'] = 1; $this->transients['last_save_mode'] = "defaults"; // Last save mode - //setcookie('redux-compiler-' . $this->args['opt_name'], 1, time() + 1000, "/"); //setcookie("redux-saved-{$this->args['opt_name']}", 'defaults', time() + 1000, "/"); @@ -2553,37 +2575,36 @@ } // Section reset to defaults - if ( ! empty( $plugin_options['defaults-section'] ) ) { - if ( isset( $plugin_options['redux-section'] ) && isset( $this->sections[ $plugin_options['redux-section'] ]['fields'] ) ) { + if ( ! empty ( $plugin_options['defaults-section'] ) ) { + if ( isset ( $plugin_options['redux-section'] ) && isset ( $this->sections[ $plugin_options['redux-section'] ]['fields'] ) ) { /** * apply_filters 'redux/validate/{opt_name}/defaults_section' * * @param &array [ $this->options_defaults, $plugin_options] */ - foreach ( $this->sections[ $plugin_options['redux-section'] ]['fields'] as $field ) { - if ( isset( $this->options_defaults[ $field['id'] ] ) ) { + if ( isset ( $this->options_defaults[ $field['id'] ] ) ) { $plugin_options[ $field['id'] ] = $this->options_defaults[ $field['id'] ]; } else { $plugin_options[ $field['id'] ] = ""; } - if ( isset( $field['compiler'] ) ) { + if ( isset ( $field['compiler'] ) ) { $compiler = true; } } - + $plugin_options = apply_filters( "redux/validate/{$this->args['opt_name']}/defaults_section", $plugin_options ); } $this->transients['changed_values'] = array(); foreach ( $this->options as $key => $value ) { - if ( isset( $plugin_options[ $key ] ) && $value != $plugin_options[ $key ] ) { + if ( isset ( $plugin_options[ $key ] ) && $value != $plugin_options[ $key ] ) { $this->transients['changed_values'][ $key ] = $value; } } - if ( isset( $compiler ) ) { + if ( isset ( $compiler ) ) { //$this->run_compiler = true; //setcookie('redux-compiler-' . $this->args['opt_name'], 1, time()+1000, '/'); //$plugin_options['REDUX_COMPILER'] = time(); @@ -2592,9 +2613,8 @@ } $this->transients['last_save_mode'] = "defaults_section"; // Last save mode - //setcookie("redux-saved-{$this->args['opt_name']}", 'defaults_section', time() + 1000, "/"); - unset( $plugin_options['defaults'], $plugin_options['defaults_section'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['import_link'], $plugin_options['compiler'], $plugin_options['redux-section'] ); + unset ( $plugin_options['defaults'], $plugin_options['defaults_section'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['import_link'], $plugin_options['compiler'], $plugin_options['redux-section'] ); $this->set_transients(); @@ -2602,7 +2622,7 @@ } // if ($this->transients['last_save_mode'] != 'remove') { - $this->transients['last_save_mode'] = "normal"; // Last save mode + $this->transients['last_save_mode'] = "normal"; // Last save mode // } else { // $this->transients['last_save_mode'] = ''; // } @@ -2617,7 +2637,7 @@ // Validate fields (if needed) $plugin_options = $this->_validate_values( $plugin_options, $this->options, $this->sections ); - if ( ! empty( $this->errors ) || ! empty( $this->warnings ) ) { + if ( ! empty ( $this->errors ) || ! empty ( $this->warnings ) ) { $this->transients['notices'] = array( 'errors' => $this->errors, 'warnings' => $this->warnings ); } @@ -2633,8 +2653,8 @@ $this->options ) ); // REMOVE - if ( !isset( $this->transients['changed_values'] ) ) { - $this->transients[ 'changed_values' ] = array(); + if ( ! isset ( $this->transients['changed_values'] ) ) { + $this->transients['changed_values'] = array(); } /** @@ -2642,15 +2662,14 @@ * * @param &array [&$plugin_options, redux_options] */ - do_action_ref_array( "redux/options/{$this->args['opt_name']}/validate", array( &$plugin_options, $this->options, $this->transients['changed_values'] ) ); - if ( ! empty( $plugin_options['compiler'] ) ) { - unset( $plugin_options['compiler'] ); + if ( ! empty ( $plugin_options['compiler'] ) ) { + unset ( $plugin_options['compiler'] ); $this->transients['last_compiler'] = $time; $this->transients['run_compiler'] = 1; @@ -2658,12 +2677,12 @@ $this->transients['changed_values'] = array(); // Changed values since last save foreach ( $this->options as $key => $value ) { - if ( isset( $plugin_options[ $key ] ) && $value != $plugin_options[ $key ] ) { + if ( isset ( $plugin_options[ $key ] ) && $value != $plugin_options[ $key ] ) { $this->transients['changed_values'][ $key ] = $value; } } - unset( $plugin_options['defaults'], $plugin_options['defaults_section'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['import_link'], $plugin_options['compiler'], $plugin_options['redux-section'] ); + unset ( $plugin_options['defaults'], $plugin_options['defaults_section'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['import_link'], $plugin_options['compiler'], $plugin_options['redux-section'] ); if ( $this->args['database'] == 'transient' || $this->args['database'] == 'theme_mods' || $this->args['database'] == 'theme_mods_expanded' ) { $this->set_options( $plugin_options ); @@ -2679,12 +2698,144 @@ //set_transient($this->args['opt_name'].'-transients', $this->transients); //exit(); } - + $this->set_transients( $this->transients ); return $plugin_options; } + public function ajax_save() { + + if ( ! wp_verify_nonce( $_REQUEST['nonce'], "redux_ajax_nonce" ) ) { + json_encode( array( + 'status' => __( 'Invalid security credential, please reload the page and try again.', 'redux-framework' ), + 'action' => 'reload' + ) ); + die(); + } + $redux = ReduxFrameworkInstances::get_instance( $_POST['opt_name'] ); + + if ( ! empty ( $_POST['data'] ) && ! empty ( $redux->args['opt_name'] ) ) { + + $values = array(); + //if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { + // $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST); + // while (list($key, $val) = each($process)) { + // foreach ($val as $k => $v) { + // unset($process[$key][$k]); + // if (is_array($v)) { + // $process[$key][stripslashes($k)] = $v; + // $process[] = &$process[$key][stripslashes($k)]; + // } else { + // $process[$key][stripslashes($k)] = stripslashes($v); + // } + // } + // } + // unset($process); + //} + $_POST['data'] = stripslashes( $_POST['data'] ); + parse_str( $_POST['data'], $values ); + $values = $values[ $redux->args['opt_name'] ]; + + + if ( function_exists( 'get_magic_quotes_gpc' ) && get_magic_quotes_gpc() ) { + $values = array_map( 'stripslashes_deep', $values ); + } + + //$beforeDeep = $values; + //// Ace editor hack for < PHP 5.4. Oy + //if ( isset( $this->fields['ace_editor'] ) ) { + // if ( function_exists( 'get_magic_quotes_gpc' ) && get_magic_quotes_gpc() ) { + // foreach ( $this->fields['ace_editor'] as $id => $v ) { + // if ( version_compare( phpversion(), '5.4', '<' ) ) { + // $values[ $id ] = stripslashes( $beforeDeep[ $id ] ); + // } else { + // $values[ $id ] = $beforeDeep[ $id ]; + // } + // } + // } + //} + + if ( ! empty ( $values ) ) { + + try { + if ( isset ( $redux->validation_ran ) ) { + unset ( $redux->validation_ran ); + } + $redux->set_options( $redux->_validate_options( $values ) ); + + if ( ( isset ( $values['defaults'] ) && ! empty ( $values['defaults'] ) ) || ( isset ( $values['defaults-section'] ) && ! empty ( $values['defaults-section'] ) ) ) { + echo json_encode( array( 'status' => 'success', 'action' => 'reload' ) ); + die (); + } + + include_once( 'core/enqueue.php' ); + $enqueue = new reduxCoreEnqueue ( $redux ); + $enqueue->get_warnings_and_errors_array(); + + include_once( 'core/panel.php' ); + $panel = new reduxCorePanel ( $redux ); + ob_start(); + $panel->notification_bar(); + $notification_bar = ob_get_contents(); + ob_end_clean(); + + $success = array( + 'status' => 'success', + 'options' => $redux->options, + 'errors' => isset ( $redux->localize_data['errors'] ) ? $redux->localize_data['errors'] : null, + 'warnings' => isset ( $redux->localize_data['warnings'] ) ? $redux->localize_data['warnings'] : null, + 'notification_bar' => $notification_bar + ); + + + echo json_encode( $success ); + } catch ( Exception $e ) { + echo json_encode( array( 'status' => $e->getMessage() ) ); + } + } else { + echo json_encode( array( 'status' => __( 'Your panel has no fields. Nothing to save.', 'redux-framework' ) ) ); + } + } + if ( isset ( $this->transients['run_compiler'] ) && $this->transients['run_compiler'] ) { + + $this->no_output = true; + $this->_enqueue_output(); + + + /** + * action 'redux-compiler-{opt_name}' + * + * @deprecated + * + * @param array options + * @param string CSS that get sent to the compiler hook + */ + do_action( "redux-compiler-{$this->args['opt_name']}", $this->options, $this->compilerCSS, $this->transients['changed_values'] ); // REMOVE + + /** + * action 'redux/options/{opt_name}/compiler' + * + * @param array options + * @param string CSS that get sent to the compiler hook + */ + do_action( "redux/options/{$this->args['opt_name']}/compiler", $this->options, $this->compilerCSS, $this->transients['changed_values'] ); + + /** + * action 'redux/options/{opt_name}/compiler/advanced' + * + * @param array options + * @param string CSS that get sent to the compiler hook, which sends the full Redux object + */ + do_action( "redux/options/{$this->args['opt_name']}/compiler/advanced", $this ); + + unset ( $this->transients['run_compiler'] ); + $this->set_transients(); + } + + die (); + } + /** * Validate values from options form (used in settings api validate function) * calls the custom validation class for the field so authors can override with custom classes @@ -2699,15 +2850,15 @@ */ public function _validate_values( $plugin_options, $options, $sections ) { foreach ( $sections as $k => $section ) { - if ( isset( $section['fields'] ) ) { + if ( isset ( $section['fields'] ) ) { foreach ( $section['fields'] as $fkey => $field ) { - - if( is_array( $field ) ) { + + if ( is_array( $field ) ) { $field['section_id'] = $k; } - if ( isset( $field['type'] ) && ( $field['type'] == 'checkbox' || $field['type'] == 'checkbox_hide_below' || $field['type'] == 'checkbox_hide_all' ) ) { - if ( ! isset( $plugin_options[ $field['id'] ] ) ) { + if ( isset ( $field['type'] ) && ( $field['type'] == 'checkbox' || $field['type'] == 'checkbox_hide_below' || $field['type'] == 'checkbox_hide_all' ) ) { + if ( ! isset ( $plugin_options[ $field['id'] ] ) ) { $plugin_options[ $field['id'] ] = 0; } } @@ -2716,7 +2867,7 @@ $isNotEmpty = false; // Make sure 'validate' field is set. - if ( isset( $field['validate'] ) ) { + if ( isset ( $field['validate'] ) ) { // Make sure 'validate field' is set to 'not_empty' or 'email_not_empty' if ( $field['validate'] == 'not_empty' || $field['validate'] == 'email_not_empty' || $field['validate'] == 'numeric_not_empty' ) { @@ -2728,7 +2879,7 @@ // Check for empty id value - if ( ! isset( $field['id'] ) || ! isset( $plugin_options[ $field['id'] ] ) || ( isset( $plugin_options[ $field['id'] ] ) && $plugin_options[ $field['id'] ] == '' ) ) { + if ( ! isset ( $field['id'] ) || ! isset ( $plugin_options[ $field['id'] ] ) || ( isset ( $plugin_options[ $field['id'] ] ) && $plugin_options[ $field['id'] ] == '' ) ) { // If we are looking for an empty value, in the case of 'not_empty' // then we need to keep processing. @@ -2740,7 +2891,7 @@ } // Force validate of custom field types - if ( isset( $field['type'] ) && ! isset( $field['validate'] ) ) { + if ( isset ( $field['type'] ) && ! isset ( $field['validate'] ) ) { if ( $field['type'] == 'color' || $field['type'] == 'color_gradient' ) { $field['validate'] = 'color'; } elseif ( $field['type'] == 'date' ) { @@ -2748,7 +2899,7 @@ } } - if ( isset( $field['validate'] ) ) { + if ( isset ( $field['validate'] ) ) { $validate = 'Redux_Validation_' . $field['validate']; if ( ! class_exists( $validate ) ) { @@ -2784,10 +2935,10 @@ $options[ $field['id'] ] = ''; } - if ( isset( $plugin_options[ $field['id'] ] ) && is_array( $plugin_options[ $field['id'] ] ) && ! empty( $plugin_options[ $field['id'] ] ) ) { + if ( isset ( $plugin_options[ $field['id'] ] ) && is_array( $plugin_options[ $field['id'] ] ) && ! empty ( $plugin_options[ $field['id'] ] ) ) { foreach ( $plugin_options[ $field['id'] ] as $key => $value ) { $before = $after = null; - if ( isset( $plugin_options[ $field['id'] ][ $key ] ) && ! empty( $plugin_options[ $field['id'] ][ $key ] ) ) { + if ( isset ( $plugin_options[ $field['id'] ][ $key ] ) && ( ! empty ( $plugin_options[ $field['id'] ][ $key ] ) || $plugin_options[ $field['id'] ][ $key ] == '0' ) ) { if ( is_array( $plugin_options[ $field['id'] ][ $key ] ) ) { $before = $plugin_options[ $field['id'] ][ $key ]; } else { @@ -2795,22 +2946,22 @@ } } - if ( isset( $options[ $field['id'] ][ $key ] ) && ! empty( $options[ $field['id'] ][ $key ] ) ) { + if ( isset ( $options[ $field['id'] ][ $key ] ) && ( ! empty ( $plugin_options[ $field['id'] ][ $key ] ) || $plugin_options[ $field['id'] ][ $key ] == '0' ) ) { $after = $options[ $field['id'] ][ $key ]; } - $validation = new $validate( $this, $field, $before, $after ); - if ( ! empty( $validation->value ) ) { + $validation = new $validate ( $this, $field, $before, $after ); + if ( ! empty ( $validation->value ) || $validation->value == '0' ) { $plugin_options[ $field['id'] ][ $key ] = $validation->value; } else { - unset( $plugin_options[ $field['id'] ][ $key ] ); + unset ( $plugin_options[ $field['id'] ][ $key ] ); } - if ( isset( $validation->error ) ) { + if ( isset ( $validation->error ) ) { $this->errors[] = $validation->error; } - if ( isset( $validation->warning ) ) { + if ( isset ( $validation->warning ) ) { $this->warnings[] = $validation->warning; } } @@ -2821,14 +2972,14 @@ $pofi = trim( $plugin_options[ $field['id'] ] ); } - $validation = new $validate( $this, $field, $pofi, $options[ $field['id'] ] ); + $validation = new $validate ( $this, $field, $pofi, $options[ $field['id'] ] ); $plugin_options[ $field['id'] ] = $validation->value; - if ( isset( $validation->error ) ) { + if ( isset ( $validation->error ) ) { $this->errors[] = $validation->error; } - if ( isset( $validation->warning ) ) { + if ( isset ( $validation->warning ) ) { $this->warnings[] = $validation->warning; } } @@ -2836,18 +2987,18 @@ continue; } } - if ( isset( $field['validate_callback'] ) && ( is_callable( $field['validate_callback'] ) || ( is_string( $field['validate_callback'] ) && function_exists( $field['validate_callback'] ) ) ) ) { + if ( isset ( $field['validate_callback'] ) && ( is_callable( $field['validate_callback'] ) || ( is_string( $field['validate_callback'] ) && function_exists( $field['validate_callback'] ) ) ) ) { $callback = $field['validate_callback']; - unset( $field['validate_callback'] ); + unset ( $field['validate_callback'] ); $callbackvalues = call_user_func( $callback, $field, $plugin_options[ $field['id'] ], $options[ $field['id'] ] ); $plugin_options[ $field['id'] ] = $callbackvalues['value']; - if ( isset( $callbackvalues['error'] ) ) { + if ( isset ( $callbackvalues['error'] ) ) { $this->errors[] = $callbackvalues['error']; } // TODO - This warning message is failing. Hmm. - if ( isset( $callbackvalues['warning'] ) ) { + if ( isset ( $callbackvalues['warning'] ) ) { $this->warnings[] = $callbackvalues['warning']; } } @@ -2868,10 +3019,10 @@ public function section_menu( $k, $section, $suffix = "", $sections = array() ) { $display = true; - $section['class'] = isset( $section['class'] ) ? ' ' . $section['class'] : ''; + $section['class'] = isset ( $section['class'] ) ? ' ' . $section['class'] : ''; - if ( isset( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { - if ( isset( $section['panel'] ) && $section['panel'] == false ) { + if ( isset ( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { + if ( isset ( $section['panel'] ) && $section['panel'] == false ) { $display = false; } } @@ -2880,48 +3031,52 @@ return ""; } - if ( empty( $sections ) ) { + if ( empty ( $sections ) ) { $sections = $this->sections; } $string = ""; - if ( ( isset( $this->args['icon_type'] ) && $this->args['icon_type'] == 'image' ) || ( isset( $section['icon_type'] ) && $section['icon_type'] == 'image' ) ) { + if ( ( isset ( $this->args['icon_type'] ) && $this->args['icon_type'] == 'image' ) || ( isset ( $section['icon_type'] ) && $section['icon_type'] == 'image' ) ) { //if( !empty( $this->args['icon_type'] ) && $this->args['icon_type'] == 'image' ) { - $icon = ( ! isset( $section['icon'] ) ) ? '' : ' '; + $icon = ( ! isset ( $section['icon'] ) ) ? '' : ' '; } else { - if ( ! empty( $section['icon_class'] ) ) { + if ( ! empty ( $section['icon_class'] ) ) { $icon_class = ' ' . $section['icon_class']; - } elseif ( ! empty( $this->args['default_icon_class'] ) ) { + } elseif ( ! empty ( $this->args['default_icon_class'] ) ) { $icon_class = ' ' . $this->args['default_icon_class']; } else { $icon_class = ''; } - $icon = ( ! isset( $section['icon'] ) ) ? ' ' : ' '; + $icon = ( ! isset ( $section['icon'] ) ) ? ' ' : ' '; + } + if ( strpos( $icon, 'el-icon-' ) !== false ) { + $icon = str_replace( 'el-icon-', 'el el-', $icon ); } $hide_section = ''; - if (isset($section['hidden'])) { - $hide_section = ($section['hidden'] == true) ? ' hidden ' : ''; - } - - $canBeSubSection = ( $k > 0 && ( ! isset( $sections[ ( $k ) ]['type'] ) || $sections[ ( $k ) ]['type'] != "divide" ) ) ? true : false; - - if ( ! $canBeSubSection && isset( $section['subsection'] ) && $section['subsection'] == true ) { - unset( $section['subsection'] ); + if ( isset ( $section['hidden'] ) ) { + $hide_section = ( $section['hidden'] == true ) ? ' hidden ' : ''; } - if ( isset( $section['type'] ) && $section['type'] == "divide" ) { + $canBeSubSection = ( $k > 0 && ( ! isset ( $sections[ ( $k ) ]['type'] ) || $sections[ ( $k ) ]['type'] != "divide" ) ) ? true : false; + + if ( ! $canBeSubSection && isset ( $section['subsection'] ) && $section['subsection'] == true ) { + unset ( $section['subsection'] ); + } + + if ( isset ( $section['type'] ) && $section['type'] == "divide" ) { $string .= '
  •  
  • '; - } else if ( ! isset( $section['subsection'] ) || $section['subsection'] != true ) { + } else if ( ! isset ( $section['subsection'] ) || $section['subsection'] != true ) { // DOVY! REPLACE $k with $section['ID'] when used properly. //$active = ( ( is_numeric($this->current_tab) && $this->current_tab == $k ) || ( !is_numeric($this->current_tab) && $this->current_tab === $k ) ) ? ' active' : ''; - $subsections = ( isset( $sections[ ( $k + 1 ) ] ) && isset( $sections[ ( $k + 1 ) ]['subsection'] ) && $sections[ ( $k + 1 ) ]['subsection'] == true ) ? true : false; + $subsections = ( isset ( $sections[ ( $k + 1 ) ] ) && isset ( $sections[ ( $k + 1 ) ]['subsection'] ) && $sections[ ( $k + 1 ) ]['subsection'] == true ) ? true : false; $subsectionsClass = $subsections ? ' hasSubSections' : ''; - $subsectionsClass .= ( ! isset( $section['fields'] ) || empty( $section['fields'] ) ) ? ' empty_section' : ''; - $extra_icon = $subsections ? ' ' : ''; + $subsectionsClass .= ( ! isset ( $section['fields'] ) || empty ( $section['fields'] ) ) ? ' empty_section' : ''; + $extra_icon = $subsections ? ' ' : ''; $string .= ''; @@ -2978,9 +3137,8 @@ } return $string; - - } // section_menu() - + } +// section_menu() /** * HTML OUTPUT. @@ -2989,453 +3147,10 @@ * @access public * @return void */ - public function _options_page_html() { - echo '

    '; // Stupid hack for Wordpress alerts and warnings - - echo '
    '; - echo '
    '; - - // Do we support JS? - echo ''; - - // Security is vital! - echo ''; - - /** - * action 'redux-page-before-form-{opt_name}' - * - * @deprecated - */ - do_action( "redux-page-before-form-{$this->args['opt_name']}" ); // Remove - - /** - * action 'redux/page/{opt_name}/form/before' - * - * @param object $this ReduxFramework - */ - do_action( "redux/page/{$this->args['opt_name']}/form/before", $this ); - - // Main container - $expanded = ( $this->args['open_expanded'] ) ? ' fully-expanded' : ''; - - echo '
    '; - $url = './options.php'; - if ( $this->args['database'] == "network" && $this->args['network_admin'] ) { - if ( is_network_admin() ) { - $url = './edit.php?action=redux_' . $this->args['opt_name']; - } - } - echo '
    '; - echo ''; - echo ''; - if ( ! empty( $this->no_panel ) ) { - echo ''; - } - - - settings_fields( "{$this->args['opt_name']}_group" ); - - // Last tab? - $this->options['last_tab'] = ( isset( $_GET['tab'] ) && ! isset( $this->transients['last_save_mode'] ) ) ? $_GET['tab'] : ''; - - echo ''; - - // Header area - echo '
    '; - - if ( ! empty( $this->args['display_name'] ) ) { - echo '
    '; - - if ( isset( $this->args['dev_mode'] ) && $this->args['dev_mode'] ) { - echo '' . __( 'Developer Mode Enabled', 'redux-framework' ) . ''; - } - - echo '

    ' . $this->args['display_name'] . '

    '; - - if ( ! empty( $this->args['display_version'] ) ) { - echo '' . $this->args['display_version'] . ''; - } - - echo '
    '; - } - - echo '
    '; - echo '
    '; - - // Intro text - if ( isset( $this->args['intro_text'] ) ) { - echo '
    '; - echo $this->args['intro_text']; - echo '
    '; - } - - // Stickybar - echo '
    '; - echo '
    '; - - $expanded = ( $this->args['open_expanded'] ) ? ' expanded' : ''; - $hide_expand = $this->args['hide_expand'] ? ' style="display: none;"' : ''; - - echo '' . __( 'Expand', 'redux-framework' ) . ''; - echo '
    '; - submit_button( __( 'Save Changes', 'redux-framework' ), 'primary', 'redux_save', false ); - - if ( false === $this->args['hide_reset'] ) { - echo ' '; - submit_button( __( 'Reset Section', 'redux-framework' ), 'secondary', $this->args['opt_name'] . '[defaults-section]', false ); - echo ' '; - submit_button( __( 'Reset All', 'redux-framework' ), 'secondary', $this->args['opt_name'] . '[defaults]', false ); - } - - echo '
    '; - - echo '
     
    '; - echo '
    '; - echo '
    '; - - // Warning bar - if ( isset( $this->transients['last_save_mode'] ) ) { - - if ( $this->transients['last_save_mode'] == "import" ) { - /** - * action 'redux/options/{opt_name}/import' - * - * @param object $this ReduxFramework - */ - do_action( "redux/options/{$this->args['opt_name']}/import", $this, $this->transients['changed_values'] ); - - /** - * filter 'redux-imported-text-{opt_name}' - * - * @param string translated "settings imported" text - */ - echo '
    ' . apply_filters( "redux-imported-text-{$this->args['opt_name']}", __( 'Settings Imported!', 'redux-framework' ) ) . '
    '; - //exit(); - } else if ( $this->transients['last_save_mode'] == "defaults" ) { - /** - * action 'redux/options/{opt_name}/reset' - * - * @param object $this ReduxFramework - */ - do_action( "redux/options/{$this->args['opt_name']}/reset", $this ); - - /** - * filter 'redux-defaults-text-{opt_name}' - * - * @param string translated "settings imported" text - */ - echo '
    ' . apply_filters( "redux-defaults-text-{$this->args['opt_name']}", __( 'All Defaults Restored!', 'redux-framework' ) ) . '
    '; - } else if ( $this->transients['last_save_mode'] == "defaults_section" ) { - /** - * action 'redux/options/{opt_name}/section/reset' - * - * @param object $this ReduxFramework - */ - do_action( "redux/options/{$this->args['opt_name']}/section/reset", $this ); - - /** - * filter 'redux-defaults-section-text-{opt_name}' - * - * @param string translated "settings imported" text - */ - echo '
    ' . apply_filters( "redux-defaults-section-text-{$this->args['opt_name']}", __( 'Section Defaults Restored!', 'redux-framework' ) ) . '
    '; - } else if ( $this->transients['last_save_mode'] == "normal") { - /** - * action 'redux/options/{opt_name}/saved' - * - * @param mixed $value set/saved option value - */ - do_action( "redux/options/{$this->args['opt_name']}/saved", $this->options, $this->transients['changed_values'] ); - - /** - * filter 'redux-saved-text-{opt_name}' - * - * @param string translated "settings saved" text - */ - echo '
    ' . apply_filters( "redux-saved-text-{$this->args['opt_name']}", __( 'Settings Saved!', 'redux-framework' ) ) . '
    '; - } - - unset( $this->transients['last_save_mode'] ); - //$this->transients['last_save_mode'] = 'remove'; - $this->set_transients(); - } - - /** - * action 'redux/options/{opt_name}/settings/changes' - * - * @param mixed $value set/saved option value - */ - do_action( "redux/options/{$this->args['opt_name']}/settings/change", $this->options, $this->transients['changed_values'] ); - - /** - * filter 'redux-changed-text-{opt_name}' - * - * @param string translated "settings have changed" text - */ - echo '
    ' . apply_filters( "redux-changed-text-{$this->args['opt_name']}", __( 'Settings have changed, you should save them!', 'redux-framework' ) ) . '
    '; - - /** - * action 'redux/options/{opt_name}/errors' - * - * @param array $this ->errors error information - */ - do_action( "redux/options/{$this->args['opt_name']}/errors", $this->errors ); - echo '
    ' . __( 'error(s) were found!', 'redux-framework' ) . '
    '; - - /** - * action 'redux/options/{opt_name}/warnings' - * - * @param array $this ->warnings warning information - */ - do_action( "redux/options/{$this->args['opt_name']}/warnings", $this->warnings ); - echo '
    ' . __( 'warning(s) were found!', 'redux-framework' ) . '
    '; - - echo '
    '; - - echo '
    '; - - // Sidebar - echo '
    '; - echo '
      '; - - foreach ( $this->sections as $k => $section ) { - $title = isset( $section['title'] ) ? $section['title'] : ''; - - $skip_sec = false; - foreach ( $this->hidden_perm_sections as $num => $section_title ) { - if ( $section_title == $title ) { - $skip_sec = true; - } - } - - if ( isset( $section['customizer_only'] ) && $section['customizer_only'] == true ) { - continue; - } - - if ( false == $skip_sec ) { - echo $this->section_menu( $k, $section ); - $skip_sec = false; - } - } - - /** - * action 'redux-page-after-sections-menu-{opt_name}' - * - * @param object $this ReduxFramework - */ - do_action( "redux-page-after-sections-menu-{$this->args['opt_name']}", $this ); - - /** - * action 'redux/page/{opt_name}/menu/after' - * - * @param object $this ReduxFramework - */ - do_action( "redux/page/{$this->args['opt_name']}/menu/after", $this ); - - // Import / Export tab - if ( true == $this->args['show_import_export'] && false == $this->import_export->is_field ) { - $this->import_export->render_tab(); - } - - // Debug tab - if ( $this->args['dev_mode'] == true ) { - $this->debug->render_tab(); - } - - if ( $this->args['system_info'] === true ) { - echo ''; - } - - echo '
    '; - echo '
    '; - - echo '
    '; - - foreach ( $this->sections as $k => $section ) { - if ( isset( $section['customizer_only'] ) && $section['customizer_only'] == true ) { - continue; - } - - //$active = ( ( is_numeric($this->current_tab) && $this->current_tab == $k ) || ( !is_numeric($this->current_tab) && $this->current_tab === $k ) ) ? ' style="display: block;"' : ''; - $section['class'] = isset( $section['class'] ) ? ' ' . $section['class'] : ''; - echo '
    '; - //echo '
    '; - - echo '
      '; - - foreach ($section['tab'] as $subkey => $subsection) { - //echo '-=' . $subkey . '=-'; - echo '
    • ' . $subsection['title'] . '
    • '; - } - - echo '
    '; - foreach ($section['tab'] as $subkey => $subsection) { - echo '
    '; - echo '
    '; - echo "hello ".$subkey; - do_settings_sections( $this->args['opt_name'] . $k . '_tab_' . $subkey . '_section_group' ); - echo "
    "; - echo "
    "; - } - echo "
    "; - } else { - */ - - // Don't display in the - $display = true; - if ( isset( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { - if ( isset( $section['panel'] ) && $section['panel'] == "false" ) { - $display = false; - } - } - - if ( $display ) { - do_settings_sections( $this->args['opt_name'] . $k . '_section_group' ); - } - //} - echo "
    "; - //echo '
    '; - } - - // Import / Export output - if ( true == $this->args['show_import_export'] && false == $this->import_export->is_field ) { - $this->import_export->enqueue(); - - echo '
    '; - $this->import_export->render(); - echo '
    '; - - } - - // Debug object output - if ( $this->args['dev_mode'] == true ) { - $this->debug->render(); - } - - if ( $this->args['system_info'] === true ) { - require_once 'inc/sysinfo.php'; - $system_info = new Simple_System_Info(); - - echo '
    '; - echo '

    ' . __( 'System Info', 'redux-framework' ) . '

    '; - - echo '
    '; - echo $system_info->get( true ); - echo '
    '; - - echo '
    '; - } - - /** - * action 'redux/page-after-sections-{opt_name}' - * - * @deprecated - * - * @param object $this ReduxFramework - */ - do_action( "redux/page-after-sections-{$this->args['opt_name']}", $this ); // REMOVE LATER - - /** - * action 'redux/page/{opt_name}/sections/after' - * - * @param object $this ReduxFramework - */ - do_action( "redux/page/{$this->args['opt_name']}/sections/after", $this ); - - echo '
    '; - echo '
    '; - echo '
    '; - - echo ''; - echo '
    '; - - echo ( isset( $this->args['footer_text'] ) ) ? '' : ''; - - /** - * action 'redux-page-after-form-{opt_name}' - * - * @deprecated - */ - do_action( "redux-page-after-form-{$this->args['opt_name']}" ); // REMOVE - - /** - * action 'redux/page/{opt_name}/form/after' - * - * @param object $this ReduxFramework - */ - do_action( "redux/page/{$this->args['opt_name']}/form/after", $this ); - - echo '
    '; - echo '
    '; - - if ( $this->args['dev_mode'] == true ) { - if ( current_user_can( 'administrator' ) ) { - global $wpdb; - echo "
    ";
    -                        print_r( $wpdb->queries );
    -                        echo "
    "; - } - - echo '
    ' . get_num_queries() . ' queries in ' . timer_stop( 0 ) . ' seconds
    Redux is currently set to developer mode.
    '; - } - + public function generate_panel() { + include_once( 'core/panel.php' ); + $panel = new reduxCorePanel ( $this ); + $panel->init(); $this->set_transients(); } @@ -3452,7 +3167,7 @@ public function _section_desc( $section ) { $id = trim( rtrim( $section['id'], '_section' ), $this->args['opt_name'] ); - if ( isset( $this->sections[ $id ]['desc'] ) && ! empty( $this->sections[ $id ]['desc'] ) ) { + if ( isset ( $this->sections[ $id ]['desc'] ) && ! empty ( $this->sections[ $id ]['desc'] ) ) { echo '
    ' . $this->sections[ $id ]['desc'] . '
    '; } } @@ -3470,9 +3185,9 @@ */ public function _field_input( $field, $v = null ) { - if ( isset( $field['callback'] ) && ( is_callable( $field['callback'] ) || ( is_string( $field['callback'] ) && function_exists( $field['callback'] ) ) ) ) { + if ( isset ( $field['callback'] ) && ( is_callable( $field['callback'] ) || ( is_string( $field['callback'] ) && function_exists( $field['callback'] ) ) ) ) { - $value = ( isset( $this->options[ $field['id'] ] ) ) ? $this->options[ $field['id'] ] : ''; + $value = ( isset ( $this->options[ $field['id'] ] ) ) ? $this->options[ $field['id'] ] : ''; /** * action 'redux-before-field-{opt_name}' @@ -3532,12 +3247,12 @@ return; } - if ( isset( $field['type'] ) ) { + if ( isset ( $field['type'] ) ) { // If the field is set not to display in the panel $display = true; - if ( isset( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { - if ( isset( $field['panel'] ) && $field['panel'] == false ) { + if ( isset ( $_GET['page'] ) && $_GET['page'] == $this->args['page_slug'] ) { + if ( isset ( $field['panel'] ) && $field['panel'] == false ) { $display = false; } } @@ -3563,11 +3278,10 @@ require_once( $class_file ); } } - } if ( class_exists( $field_class ) ) { - $value = isset( $this->options[ $field['id'] ] ) ? $this->options[ $field['id'] ] : ''; + $value = isset ( $this->options[ $field['id'] ] ) ? $this->options[ $field['id'] ] : ''; if ( $v !== null ) { $value = $v; @@ -3599,21 +3313,21 @@ */ do_action( "redux/field/{$this->args['opt_name']}/render/before", $field, $value ); - if ( ! isset( $field['name_suffix'] ) ) { + if ( ! isset ( $field['name_suffix'] ) ) { $field['name_suffix'] = ""; } - $render = new $field_class( $field, $value, $this ); + $render = new $field_class ( $field, $value, $this ); ob_start(); $render->render(); /* - echo "
    ";
    -                    print_r($value);
    -                    echo "
    "; - */ + echo "
    ";
    +                      print_r($value);
    +                      echo "
    "; + */ /** * filter 'redux-field-{opt_name}' @@ -3644,7 +3358,7 @@ ob_end_clean(); //save the values into a unique array in case we need it for dependencies - $this->fieldsValues[ $field['id'] ] = ( isset( $value['url'] ) && is_array( $value ) ) ? $value['url'] : $value; + $this->fieldsValues[ $field['id'] ] = ( isset ( $value['url'] ) && is_array( $value ) ) ? $value['url'] : $value; //create default data und class string and checks the dependencies of an object $class_string = ''; @@ -3669,19 +3383,28 @@ do_action( "redux/field/{$this->args['opt_name']}/fieldset/before/{$this->args['opt_name']}", $field, $value ); //if ( ! isset( $field['fields'] ) || empty( $field['fields'] ) ) { - echo '
    '; + $hidden = ''; + if ( isset ( $field['hidden'] ) && $field['hidden'] ) { + $hidden = 'hidden '; + } + + if ( isset( $field['full_width'] ) && $field['full_width'] == true ) { + $class_string .= "redux_remove_th"; + } + + echo '
    '; //} echo $_render; - if ( ! empty( $field['desc'] ) ) { + if ( ! empty ( $field['desc'] ) ) { $field['description'] = $field['desc']; } - echo ( isset( $field['description'] ) && $field['type'] != "info" && $field['type'] !== "section" && ! empty( $field['description'] ) ) ? '
    ' . $field['description'] . '
    ' : ''; + echo ( isset ( $field['description'] ) && $field['type'] != "info" && $field['type'] !== "section" && ! empty ( $field['description'] ) ) ? '
    ' . $field['description'] . '
    ' : ''; //if ( ! isset( $field['fields'] ) || empty( $field['fields'] ) ) { - echo '
    '; + echo '
    '; //} /** @@ -3711,7 +3434,8 @@ do_action( "redux/field/{$this->args['opt_name']}/fieldset/after/{$this->args['opt_name']}", $field, $value ); } } - } // _field_input() + } +// _field_input() /** * Can Output CSS @@ -3725,12 +3449,12 @@ $return = true; $field = apply_filters( "redux/field/{$this->args['opt_name']}/_can_output_css", $field ); - if ( isset( $field['force_output'] ) && $field['force_output'] == true ) { + if ( isset ( $field['force_output'] ) && $field['force_output'] == true ) { return $return; } - if ( ! empty( $field['required'] ) ) { - if ( isset( $field['required'][0] ) ) { + if ( ! empty ( $field['required'] ) ) { + if ( isset ( $field['required'][0] ) ) { if ( ! is_array( $field['required'][0] ) && count( $field['required'] ) == 3 ) { $parentValue = $GLOBALS[ $this->args['global_variable'] ][ $field['required'][0] ]; $checkValue = $field['required'][2]; @@ -3753,7 +3477,8 @@ } return $return; - } // _can_output_css + } +// _can_output_css /** * Checks dependencies between objects based on the $field['required'] array @@ -3771,14 +3496,14 @@ public function check_dependencies( $field ) { //$params = array('data_string' => "", 'class_string' => ""); - if ( ! empty( $field['required'] ) ) { + if ( ! empty ( $field['required'] ) ) { //$this->folds[$field['id']] = $this->folds[$field['id']] ? $this->folds[$field['id']] : array(); - if ( ! isset( $this->required_child[ $field['id'] ] ) ) { + if ( ! isset ( $this->required_child[ $field['id'] ] ) ) { $this->required_child[ $field['id'] ] = array(); } - if ( ! isset( $this->required[ $field['id'] ] ) ) { + if ( ! isset ( $this->required[ $field['id'] ] ) ) { $this->required[ $field['id'] ] = array(); } @@ -3813,7 +3538,6 @@ $this->checkRequiredDependencies( $field, $data ); } - } //return $params; } @@ -3825,67 +3549,67 @@ case '=': case 'equals': $data['operation'] = "="; - - if (is_array($parentValue)) { - foreach($parentValue as $idx => $val) { - if (is_array($checkValue)) { - foreach($checkValue as $i => $v) { - if ($val == $v) { + + if ( is_array( $parentValue ) ) { + foreach ( $parentValue as $idx => $val ) { + if ( is_array( $checkValue ) ) { + foreach ( $checkValue as $i => $v ) { + if ( $val == $v ) { $return = true; } } } else { - if ($val == $checkValue) { + if ( $val == $checkValue ) { $return = true; } } } } else { - if (is_array($checkValue)) { - foreach($checkValue as $i => $v) { - if ($parentValue == $v) { + if ( is_array( $checkValue ) ) { + foreach ( $checkValue as $i => $v ) { + if ( $parentValue == $v ) { $return = true; } } } else { - if ($parentValue == $checkValue) { + if ( $parentValue == $checkValue ) { $return = true; } } } - break; - + break; + case '!=': case 'not': $data['operation'] = "!=="; - if (is_array($parentValue)) { - foreach($parentValue as $idx => $val) { - if (is_array($checkValue)) { - foreach($checkValue as $i => $v) { - if ($val != $v) { + if ( is_array( $parentValue ) ) { + foreach ( $parentValue as $idx => $val ) { + if ( is_array( $checkValue ) ) { + foreach ( $checkValue as $i => $v ) { + if ( $val != $v ) { $return = true; } } } else { - if ($val != $checkValue) { + if ( $val != $checkValue ) { $return = true; } } } } else { - if (is_array($checkValue)) { - foreach($checkValue as $i => $v) { - if ($parentValue != $v) { + if ( is_array( $checkValue ) ) { + foreach ( $checkValue as $i => $v ) { + if ( $parentValue != $v ) { $return = true; } } } else { - if ($parentValue != $checkValue) { + if ( $parentValue != $checkValue ) { $return = true; } } } - + // if ( is_array( $checkValue ) ) { // if ( ! in_array( $parentValue, $checkValue ) ) { // $return = true; @@ -3899,7 +3623,7 @@ // } // } // } - break; + break; case '>': case 'greater': case 'is_larger': @@ -3933,12 +3657,12 @@ } break; case 'contains': - if (is_array($parentValue)) { - $parentValue = implode(',', $parentValue); + if ( is_array( $parentValue ) ) { + $parentValue = implode( ',', $parentValue ); } - - if (is_array($checkValue)) { - foreach($checkValue as $idx => $opt) { + + if ( is_array( $checkValue ) ) { + foreach ( $checkValue as $idx => $opt ) { if ( strpos( $parentValue, $opt ) !== false ) { $return = true; } @@ -3948,16 +3672,16 @@ $return = true; } } - + break; case 'doesnt_contain': case 'not_contain': - if (is_array($parentValue)) { - $parentValue = implode(',', $parentValue); + if ( is_array( $parentValue ) ) { + $parentValue = implode( ',', $parentValue ); } - if (is_array($checkValue)) { - foreach($checkValue as $idx => $opt) { + if ( is_array( $checkValue ) ) { + foreach ( $checkValue as $idx => $opt ) { if ( strpos( $parentValue, $opt ) === false ) { $return = true; } @@ -3967,29 +3691,29 @@ $return = true; } } - + break; case 'is_empty_or': - if ( empty( $parentValue ) || $parentValue == $checkValue ) { + if ( empty ( $parentValue ) || $parentValue == $checkValue ) { $return = true; } break; case 'not_empty_and': - if ( ! empty( $parentValue ) && $parentValue != $checkValue ) { + if ( ! empty ( $parentValue ) && $parentValue != $checkValue ) { $return = true; } break; case 'is_empty': case 'empty': case '!isset': - if ( empty( $parentValue ) || $parentValue == "" || $parentValue == null ) { + if ( empty ( $parentValue ) || $parentValue == "" || $parentValue == null ) { $return = true; } break; case 'not_empty': case '!empty': case 'isset': - if ( ! empty( $parentValue ) && $parentValue != "" && $parentValue != null ) { + if ( ! empty ( $parentValue ) && $parentValue != "" && $parentValue != null ) { $return = true; } break; @@ -4001,15 +3725,15 @@ private function checkRequiredDependencies( $field, $data ) { //required field must not be hidden. otherwise hide this one by default - if ( ! in_array( $data['parent'], $this->fieldsHidden ) && ( ! isset( $this->folds[ $field['id'] ] ) || $this->folds[ $field['id'] ] != "hide" ) ) { - if ( isset( $this->options[ $data['parent'] ] ) ) { + if ( ! in_array( $data['parent'], $this->fieldsHidden ) && ( ! isset ( $this->folds[ $field['id'] ] ) || $this->folds[ $field['id'] ] != "hide" ) ) { + if ( isset ( $this->options[ $data['parent'] ] ) ) { //echo $data['parent']; $return = $this->compareValueDependencies( $this->options[ $data['parent'] ], $data['checkValue'], $data['operation'] ); //$return = $this->compareValueDependencies( $data['parent'], $data['checkValue'], $data['operation'] ); } } - if ( ( isset( $return ) && $return ) && ( ! isset( $this->folds[ $field['id'] ] ) || $this->folds[ $field['id'] ] != "hide" ) ) { + if ( ( isset ( $return ) && $return ) && ( ! isset ( $this->folds[ $field['id'] ] ) || $this->folds[ $field['id'] ] != "hide" ) ) { $this->folds[ $field['id'] ] = "show"; } else { $this->folds[ $field['id'] ] = "hide"; @@ -4038,7 +3762,9 @@ return $data_string; } - } // ReduxFramework + } + + // ReduxFramework /** * action 'redux/init' @@ -4046,5 +3772,4 @@ * @param null */ do_action( 'redux/init', ReduxFramework::init() ); - } // class_exists('ReduxFramework') diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.p.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.p.php index bb182208..0e919cf0 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.p.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.p.php @@ -10,6 +10,10 @@ public function proxy() { + if ( ! isset( $_GET['nonce'] ) || ( isset( $_GET['nonce'] ) && ! wp_verify_nonce( $_GET['nonce'], "redux-ads-nonce" ) ) ) { + die(); + } + // Script: Simple PHP Proxy: Get external HTML, JSON and more! // // *Version: 1.6, Last updated: 1/24/2009* @@ -160,6 +164,11 @@ // ############################################################################ $url = $_GET['url']; + if ( isset( $_GET['nonce'] ) ) { + $url = str_replace( 'nonce=' . $_GET['nonce'] . '&', '', $url ); + } + + if ( ! $url ) { // Passed url not specified. @@ -222,7 +231,7 @@ ); if ( ! is_wp_error( $response ) ) { - $status = $response['response']['code']; + $status = $response['response']['code']; $contents = $response['body']; } @@ -236,13 +245,13 @@ } if ( isset( $response['headers']['content-type'] ) ) { - header('Content-Type: '.$response['headers']['content-type']); + header( 'Content-Type: ' . $response['headers']['content-type'] ); } if ( isset( $response['headers']['content-language'] ) ) { - header('Content-Language: '.$response['headers']['content-language']); + header( 'Content-Language: ' . $response['headers']['content-language'] ); } if ( isset( $response['headers']['set-cookie'] ) ) { - header('Set-Cookie: '.$response['headers']['set-cookie']); + header( 'Set-Cookie: ' . $response['headers']['set-cookie'] ); } print str_replace( 'ads.reduxframework.com', 'look.reduxframework.com', $contents ); @@ -268,7 +277,7 @@ // Set the JSON data object contents, decoding it from JSON if possible. $decoded_json = json_decode( $contents ); - $data['contents'] = str_replace('e(window).width()', 'window.innerWidth||e(window).width()', $decoded_json ? $decoded_json : $contents); + $data['contents'] = str_replace( 'e(window).width()', 'window.innerWidth||e(window).width()', $decoded_json ? $decoded_json : $contents ); // Generate appropriate content-type header. diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_api.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_api.php new file mode 100644 index 00000000..83c95c55 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_api.php @@ -0,0 +1,513 @@ +{$closure}->bindTo( $this ), $args ); + } + + public function __toString() { + return call_user_func( $this->{"__toString"}->bindTo( $this ) ); + } + + public static function load() { + add_action( 'after_setup_theme', array( 'Redux', 'createRedux' ) ); + add_action( 'init', array( 'Redux', 'createRedux' ) ); + } + + public static function init( $opt_name = "" ) { + if ( ! empty( $opt_name ) ) { + self::loadRedux( $opt_name ); + remove_action( 'setup_theme', array( 'Redux', 'createRedux' ) ); + } + } + + public static function loadExtensions( $ReduxFramework ) { + if ( $instanceExtensions = self::getExtensions( $ReduxFramework->args['opt_name'], "" ) ) { + foreach ( $instanceExtensions as $name => $extension ) { + if ( ! class_exists( $extension['class'] ) ) { + // In case you wanted override your override, hah. + $extension['path'] = apply_filters( 'redux/extension/' . $ReduxFramework->args['opt_name'] . '/' . $name, $extension['path'] ); + if ( file_exists( $extension['path'] ) ) { + require_once( $extension['path'] ); + } + } + if ( ! isset( $ReduxFramework->extensions[ $name ] ) ) { + if ( class_exists( $extension['class'] ) ) { + $ReduxFramework->extensions[ $name ] = new $extension['class']( $ReduxFramework ); + } else { + echo '

    No class named ' . $extension['class'] . ' exists. Please verify your extension path.

    '; + } + + } + } + } + } + + public static function extensionPath( $extension, $folder = true ) { + if ( ! isset( Redux::$extensions[ $extension ] ) ) { + return; + } + $path = end( Redux::$extensions[ $extension ] ); + if ( ! $folder ) { + return $path; + } + + return str_replace( 'extension_' . $extension . '.php', '', $path ); + } + + + public static function loadRedux( $opt_name = "" ) { + + if ( empty( $opt_name ) ) { + return; + } + + $check = ReduxFrameworkInstances::get_instance( $opt_name ); + if ( isset( $check->apiHasRun ) ) { + return; + } + + $args = self::constructArgs( $opt_name ); + $sections = self::constructSections( $opt_name ); + if ( ! class_exists( 'ReduxFramework' ) ) { + echo '

    Redux Framework is not installed. Please install it.

    '; + + return; + } + if ( isset( self::$uses_extensions[ $opt_name ] ) && ! empty( self::$uses_extensions[ $opt_name ] ) ) { + add_action( "redux/extensions/{$opt_name}/before", array( 'Redux', 'loadExtensions' ), 0 ); + } + + $redux = new ReduxFramework( $sections, $args ); + $redux->apiHasRun = 1; + self::$init[ $opt_name ] = 1; + if ( isset( $redux->args['opt_name'] ) && $redux->args['opt_name'] != $opt_name ) { + self::$init[ $redux->args['opt_name'] ] = 1; + } + + } + + public static function createRedux() { + foreach ( self::$sections as $opt_name => $theSections ) { + if ( ! self::$init[ $opt_name ] ) { + self::loadRedux( $opt_name ); + } + } + } + + public static function constructArgs( $opt_name ) { + $args = isset( self::$args[ $opt_name ] ) ? self::$args[ $opt_name ] : array(); + + $args['opt_name'] = $opt_name; + if ( ! isset( $args['menu_title'] ) ) { + $args['menu_title'] = ucfirst( $opt_name ) . ' Options'; + } + if ( ! isset( $args['page_title'] ) ) { + $args['page_title'] = ucfirst( $opt_name ) . ' Options'; + } + if ( ! isset( $args['page_slug'] ) ) { + $args['page_slug'] = $opt_name . '_options'; + } + + return $args; + } + + public static function constructSections( $opt_name ) { + $sections = array(); + if ( ! isset( self::$sections[ $opt_name ] ) ) { + return $sections; + + } + foreach ( self::$sections[ $opt_name ] as $section_id => $section ) { + $section['fields'] = self::constructFields( $opt_name, $section_id ); + $p = $section['priority']; + while ( isset( $sections[ $p ] ) ) { + echo $p ++; + } + $sections[ $p ] = $section; + } + ksort( $sections ); + + return $sections; + } + + public static function constructFields( $opt_name = "", $section_id = "" ) { + $fields = array(); + if ( ! empty( self::$fields[ $opt_name ] ) ) { + foreach ( self::$fields[ $opt_name ] as $key => $field ) { + if ( $field['section_id'] == $section_id ) { + $p = $field['priority']; + while ( isset( $fields[ $p ] ) ) { + echo $p ++; + } + $fields[ $p ] = $field; + } + } + } + ksort( $fields ); + + return $fields; + } + + public static function getSection( $opt_name = '', $id = '' ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $opt_name ) && ! empty( $id ) ) { + if ( ! isset( self::$sections[ $opt_name ][ $id ] ) ) { + $id = strtolower( sanitize_html_class( $id ) ); + } + + return isset( self::$sections[ $opt_name ][ $id ] ) ? self::$sections[ $opt_name ][ $id ] : false; + } + + return false; + } + + public static function setSections( $opt_name = '', $sections = array() ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $sections ) ) { + foreach ( $sections as $section ) { + Redux::setSection( $opt_name, $section ); + } + } + } + + public static function setSection( $opt_name = '', $section = array() ) { + self::check_opt_name( $opt_name ); + if ( ! isset( $section['id'] ) ) { + $section['id'] = strtolower( sanitize_html_class( $section['title'] ) ); + if ( isset( self::$sections[ $opt_name ][ $section['id'] ] ) ) { + $orig = $section['id']; + $i = 0; + while ( isset( self::$sections[ $opt_name ][ $section['id'] ] ) ) { + $section['id'] = $orig . '_' . $i; + } + } + } + + if ( ! empty( $opt_name ) && is_array( $section ) && ! empty( $section ) ) { + if ( ! isset( $section['id'] ) && ! isset( $section['title'] ) ) { + self::$errors[ $opt_name ]['section']['missing_title'] = "Unable to create a section due to missing id and title."; + + return; + } + if ( ! isset( $section['priority'] ) ) { + $section['priority'] = self::getPriority( $opt_name, 'sections' ); + } + if ( isset( $section['fields'] ) ) { + if ( ! empty( $section['fields'] ) && is_array( $section['fields'] ) ) { + self::processFieldsArray( $opt_name, $section['id'], $section['fields'] ); + } + unset( $section['fields'] ); + } + self::$sections[ $opt_name ][ $section['id'] ] = $section; + } else { + self::$errors[ $opt_name ]['section']['empty'] = "Unable to create a section due an empty section array or the section variable passed was not an array."; + + return; + } + } + + public static function processFieldsArray( $opt_name = "", $section_id = "", $fields = array() ) { + if ( ! empty( $opt_name ) && ! empty( $section_id ) && is_array( $fields ) && ! empty( $fields ) ) { + foreach ( $fields as $field ) { + if ( ! is_array( $field ) ) { + continue; + } + $field['section_id'] = $section_id; + self::setField( $opt_name, $field ); + } + } + } + + public static function getField( $opt_name = '', $id = '' ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $opt_name ) && ! empty( $id ) ) { + return isset( self::$fields[ $opt_name ][ $id ] ) ? self::$fields[ $opt_name ][ $id ] : false; + } + + return false; + } + + public static function setField( $opt_name = '', $field = array() ) { + self::check_opt_name( $opt_name ); + + if ( ! empty( $opt_name ) && is_array( $field ) && ! empty( $field ) ) { + + if ( ! isset( $field['priority'] ) ) { + $field['priority'] = self::getPriority( $opt_name, 'fields' ); + } + self::$fields[ $opt_name ][ $field['id'] ] = $field; + } + } + + public static function setHelpTab( $opt_name = "", $tab = array() ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $opt_name ) && ! empty( $tab ) ) { + if ( ! isset( self::$args[ $opt_name ]['help_tabs'] ) ) { + self::$args[ $opt_name ]['help_tabs'] = array(); + } + if ( isset( $tab['id'] ) ) { + self::$args[ $opt_name ]['help_tabs'][] = $tab; + } else if ( is_array( end( $tab ) ) ) { + foreach ( $tab as $tab_item ) { + self::$args[ $opt_name ]['help_tabs'][] = $tab_item; + } + } + } + } + + public static function setHelpSidebar( $opt_name = "", $content = "" ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $opt_name ) && ! empty( $content ) ) { + self::$args[ $opt_name ]['help_sidebar'] = $content; + } + } + + public static function setArgs( $opt_name = "", $args = array() ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $opt_name ) && ! empty( $args ) && is_array( $args ) ) { + self::$args[ $opt_name ] = wp_parse_args( $args, self::$args[ $opt_name ] ); + } + } + + public static function getArgs( $opt_name = "" ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $opt_name ) && ! empty( self::$args[ $opt_name ] ) ) { + return self::$args[ $opt_name ]; + } + } + + public static function getArg( $opt_name = "", $key = "" ) { + self::check_opt_name( $opt_name ); + if ( ! empty( $opt_name ) && ! empty( $key ) && ! empty( self::$args[ $opt_name ] ) ) { + return self::$args[ $opt_name ][ $key ]; + } else { + return; + } + } + + public static function getPriority( $opt_name, $type ) { + $priority = self::$priority[ $opt_name ][ $type ]; + self::$priority[ $opt_name ][ $type ] += 1; + + return $priority; + } + + public static function check_opt_name( $opt_name = "" ) { + if ( empty( $opt_name ) || is_array( $opt_name ) ) { + return; + } + if ( ! isset( self::$args[ $opt_name ] ) ) { + self::$args[ $opt_name ] = array(); + self::$priority[ $opt_name ]['args'] = 1; + } + if ( ! isset( self::$sections[ $opt_name ] ) ) { + self::$sections[ $opt_name ] = array(); + self::$priority[ $opt_name ]['sections'] = 1; + } + if ( ! isset( self::$fields[ $opt_name ] ) ) { + self::$fields[ $opt_name ] = array(); + self::$priority[ $opt_name ]['fields'] = 1; + } + if ( ! isset( self::$help[ $opt_name ] ) ) { + self::$help[ $opt_name ] = array(); + self::$priority[ $opt_name ]['help'] = 1; + } + if ( ! isset( self::$errors[ $opt_name ] ) ) { + self::$errors[ $opt_name ] = array(); + } + if ( ! isset( self::$init[ $opt_name ] ) ) { + self::$init[ $opt_name ] = false; + } + } + + /** + * Retrieve metadata from a file. Based on WP Core's get_file_data function + * + * @since 2.1.1 + * + * @param string $file Path to the file + * + * @return string + */ + public static function getFileVersion( $file, $size = 8192 ) { + // We don't need to write to the file, so just open for reading. + $fp = fopen( $file, 'r' ); + + // Pull only the first 8kiB of the file in. + $file_data = fread( $fp, $size ); + + // PHP will close file handle, but we are good citizens. + fclose( $fp ); + + // Make sure we catch CR-only line endings. + $file_data = str_replace( "\r", "\n", $file_data ); + $version = ''; + + if ( preg_match( '/^[ \t\/*#@]*' . preg_quote( '@version', '/' ) . '(.*)$/mi', $file_data, $match ) && $match[1] ) { + $version = _cleanup_header_comment( $match[1] ); + } + + return $version; + } + + public static function checkExtensionClassFile( $opt_name, $name = "", $class_file = "", $instance = "" ) { + if ( file_exists( $class_file ) ) { + self::$uses_extensions[ $opt_name ] = isset( self::$uses_extensions[ $opt_name ] ) ? self::$uses_extensions[ $opt_name ] : array(); + if ( ! in_array( $name, self::$uses_extensions[ $opt_name ] ) ) { + self::$uses_extensions[ $opt_name ][] = $name; + } + + self::$extensions[ $name ] = isset( self::$extensions[ $name ] ) ? self::$extensions[ $name ] : array(); + $version = self::getFileVersion( $class_file ); + if ( empty( $version ) && ! empty( $instance ) ) { + if ( isset( $instance->version ) ) { + $version = $instance->version; + } + } + self::$extensions[ $name ][ $version ] = isset( self::$extensions[ $name ][ $version ] ) ? self::$extensions[ $name ][ $version ] : $class_file; + } + } + + public static function setExtensions( $opt_name, $path ) { + if ( is_dir( $path ) ) { + $path = trailingslashit( $path ); + $folder = str_replace( '.php', '', basename( $path ) ); + if ( file_exists( $path . 'extension_' . $folder . '.php' ) ) { + self::checkExtensionClassFile( $opt_name, $folder, $path . 'extension_' . $folder . '.php' ); + } else { + $folders = scandir( $path, 1 ); + foreach ( $folders as $folder ) { + if ( $folder === '.' or $folder === '..' ) { + continue; + } + if ( file_exists( $path . $folder . '/extension_' . $folder . '.php' ) ) { + self::checkExtensionClassFile( $opt_name, $folder, $path . $folder . '/extension_' . $folder . '.php' ); + } else if ( is_dir( $path . $folder ) ) { + self::setExtensions( $opt_name, $path . $folder ); + continue; + } + } + } + } else if ( file_exists( $path ) ) { + $name = explode( 'extension_', basename( $path ) ); + if ( isset( $name[1] ) && ! empty( $name[1] ) ) { + $name = str_replace( '.php', '', $name[1] ); + self::checkExtensionClassFile( $opt_name, $name, $path ); + } + } + } + + public static function getAllExtensions() { + $redux = ReduxFrameworkInstances::get_all_instances(); + foreach ( $redux as $instance ) { + if ( ! empty( self::$uses_extensions[ $instance['args']['opt_name'] ] ) ) { + continue; + } + if ( ! empty( $instance['extensions'] ) ) { + + Redux::getInstanceExtensions( $instance['args']['opt_name'], $instance ); + } + } + } + + public static function getInstanceExtensions( $opt_name, $instance = array() ) { + if ( ! empty( self::$uses_extensions[ $opt_name ] ) ) { + return; + } + if ( empty( $instance ) ) { + $instance = ReduxFrameworkInstances::get_instance( $opt_name ); + } + if ( empty( $instance ) || empty( $instance->extensions ) ) { + return; + } + foreach ( $instance->extensions as $name => $extension ) { + if ( $name == "widget_areas" ) { + $new = new Redux_Widget_Areas( $instance ); + } + if ( isset( self::$uses_extensions[ $opt_name ][ $name ] ) ) { + continue; + } + if ( isset( $extension->extension_dir ) ) { + Redux::setExtensions( $opt_name, str_replace( $name, '', $extension->extension_dir ) ); + + } else if ( isset( $extension->_extension_dir ) ) { + Redux::setExtensions( $opt_name, str_replace( $name, '', $extension->_extension_dir ) ); + } + } + } + + public static function getExtensions( $opt_name = "", $key = "" ) { + + if ( empty( $opt_name ) ) { + Redux::getAllExtensions(); + if ( empty( $key ) ) { + return self::$extension_paths; + } else { + if ( isset( self::$extension_paths[ $key ] ) ) { + return self::$extension_paths[ $key ]; + } + } + } else { + if ( empty( self::$uses_extensions[ $opt_name ] ) ) { + Redux::getInstanceExtensions( $opt_name ); + } + + if ( empty( self::$uses_extensions[ $opt_name ] ) ) { + return false; + } + $instanceExtensions = array(); + foreach ( self::$uses_extensions[ $opt_name ] as $extension ) { + $class_file = end( self::$extensions[ $extension ] ); + $name = str_replace( '.php', '', basename( $extension ) ); + $extension_class = 'ReduxFramework_Extension_' . $name; + $instanceExtensions[ $extension ] = array( + 'path' => $class_file, + 'class' => $extension_class, + 'version' => Redux::getFileVersion( $class_file ) + ); + } + + return $instanceExtensions; + } + + return false; + } + } + + Redux::load(); + } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php index fc2b041e..9fbecf72 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_filesystem.php @@ -61,12 +61,11 @@ return false; } - return true; } public function execute( $action, $file = '', $params = '' ) { - + if ( empty( $this->parent->args ) ) { return; } @@ -101,28 +100,40 @@ global $wp_filesystem; - if ( defined( 'FS_CHMOD_FILE' ) ) { - $chmod = FS_CHMOD_FILE; - } else { - $chmod = 0644; + if ( ! isset( $params['chmod'] ) || ( isset( $params['chmod'] ) && empty( $params['chmod'] ) ) ) { + if ( defined( 'FS_CHMOD_FILE' ) ) { + $chmod = FS_CHMOD_FILE; + } else { + $chmod = 0644; + } + } + $res = false; + if ( ! isset( $recursive ) ) { + $recursive = false; } //$target_dir = $wp_filesystem->find_folder( dirname( $file ) ); // Do unique stuff - if ( $action == 'mkdir' && ! isset( $this->filesystem->killswitch ) ) { - wp_mkdir_p( $file ); + if ( $action == 'mkdir' ) { - $res = file_exists( $file ); if ( defined( 'FS_CHMOD_DIR' ) ) { $chmod = FS_CHMOD_DIR; } else { $chmod = 0755; } + $res = $wp_filesystem->mkdir( $file ); if ( ! $res ) { - mkdir( $file, $chmod, true ); + wp_mkdir_p( $file ); + $res = file_exists( $file ); + if ( ! $res ) { + mkdir( $file, $chmod, true ); + $res = file_exists( $file ); + } } + } elseif ( $action == 'rmdir' ) { + $res = $wp_filesystem->rmdir( $file, $recursive ); } elseif ( $action == 'copy' && ! isset( $this->filesystem->killswitch ) ) { if ( isset( $this->parent->ftp_form ) && ! empty( $this->parent->ftp_form ) ) { $res = copy( $file, $destination ); @@ -132,30 +143,70 @@ } else { $res = $wp_filesystem->copy( $file, $destination, $overwrite, $chmod ); } + } elseif ( $action == 'move' && ! isset( $this->filesystem->killswitch ) ) { + $res = $wp_filesystem->copy( $file, $destination, $overwrite ); + } elseif ( $action == 'delete' ) { + $res = $wp_filesystem->delete( $file, $recursive ); + } elseif ( $action == 'rmdir' ) { + $res = $wp_filesystem->rmdir( $file, $recursive ); + } elseif ( $action == 'dirlist' ) { + if ( ! isset( $include_hidden ) ) { + $include_hidden = true; + } + $res = $wp_filesystem->dirlist( $file, $include_hidden, $recursive ); } elseif ( $action == 'put_contents' && ! isset( $this->filesystem->killswitch ) ) { + // Write a string to a file if ( isset( $this->parent->ftp_form ) && ! empty( $this->parent->ftp_form ) ) { - $res = file_put_contents( $file, $content ); + $res = file_put_contents( $file, $content, $chmod ); if ( $res ) { chmod( $file, $chmod ); } } else { - $res = $wp_filesystem->put_contents( $file, $content, FS_CHMOD_FILE ); + $res = $wp_filesystem->put_contents( $file, $content, $chmod ); } + } elseif ( $action == 'chown' ) { + // Changes file owner + if ( isset( $owner ) && ! empty( $owner ) ) { + $res = $wp_filesystem->chmod( $file, $chmod, $recursive ); + } + } elseif ( $action == 'owner' ) { + // Gets file owner + $res = $wp_filesystem->owner( $file ); + } elseif ( $action == 'chmod' ) { + + if ( ! isset( $params['chmod'] ) || ( isset( $params['chmod'] ) && empty( $params['chmod'] ) ) ) { + $chmod = false; + } + + $res = $wp_filesystem->chmod( $file, $chmod, $recursive ); + } elseif ( $action == 'get_contents' ) { + // Reads entire file into a string if ( isset( $this->parent->ftp_form ) && ! empty( $this->parent->ftp_form ) ) { $res = file_get_contents( $file ); } else { $res = $wp_filesystem->get_contents( $file ); } + } elseif ( $action == 'get_contents_array' ) { + // Reads entire file into an array + $res = $wp_filesystem->get_contents_array( $file ); } elseif ( $action == 'object' ) { $res = $wp_filesystem; + } elseif ( $action == 'unzip' ) { + $unzipfile = unzip_file( $file, $destination ); + if ( $unzipfile ) { + $res = true; + } } if ( isset( $res ) && ! $res ) { $this->killswitch = true; } if ( ! $res ) { - add_action( "redux/page/{$this->parent->args['opt_name']}/form/before", array( $this, 'ftp_form' ) ); + add_action( "redux/page/{$this->parent->args['opt_name']}/form/before", array( + $this, + 'ftp_form' + ) ); } return $res; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_functions.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_functions.php index ae28370b..43bddf58 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_functions.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_functions.php @@ -194,14 +194,20 @@ if ( ! class_exists( 'Redux_Functions' ) ) { * @access public * @return void */ - public static function adminNotices() { + public static function adminNotices($notices = array()) { global $current_user, $pagenow; // Check for an active admin notice array - if ( ! empty( self::$_parent->admin_notices ) ) { + if ( ! empty( $notices ) ) { // Enum admin notices - foreach ( self::$_parent->admin_notices as $notice ) { + foreach ( $notices as $notice ) { + + $add_style = ''; + if (strpos($notice['type'], 'redux-message') != false) { + $add_style = 'style="border-left: 4px solid ' . $notice['color'] . '!important;"'; + } + if ( true == $notice['dismiss'] ) { // Get user ID @@ -228,12 +234,12 @@ if ( ! class_exists( 'Redux_Functions' ) ) { } // Print the notice with the dismiss link - echo ''; + echo ''; } } else { // Standard notice - echo '

    ' . $notice['msg'] . '.

    '; + echo '

    ' . $notice['msg'] . '.

    '; } } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_helpers.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_helpers.php index 6ba48fed..c339aca8 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_helpers.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_helpers.php @@ -1,99 +1,108 @@ sections as $k => $section ) { - if ( ! isset( $section['title'] ) ) { - continue; - } - - if ( isset( $section['fields'] ) && ! empty( $section['fields'] ) ) { - if ( Redux_Helpers::recursive_array_search( $field, $section['fields'] ) ) { - return $k; + public static function tabFromField( $parent, $field ) { + foreach ( $parent->sections as $k => $section ) { + if ( ! isset( $section['title'] ) ) { continue; } + + if ( isset( $section['fields'] ) && ! empty( $section['fields'] ) ) { + if ( Redux_Helpers::recursive_array_search( $field, $section['fields'] ) ) { + return $k; + continue; + } + } } } - } - public static function isFieldInUseByType( $fields, $field = array() ) { - foreach ( $field as $name ) { - if ( array_key_exists( $name, $fields ) ) { - return true; - } - } - - return false; - } - - public static function isFieldInUse( $parent, $field ) { - foreach ( $parent->sections as $k => $section ) { - if ( ! isset( $section['title'] ) ) { - continue; - } - - if ( isset( $section['fields'] ) && ! empty( $section['fields'] ) ) { - if ( Redux_Helpers::recursive_array_search( $field, $section['fields'] ) ) { + public static function isFieldInUseByType( $fields, $field = array() ) { + foreach ( $field as $name ) { + if ( array_key_exists( $name, $fields ) ) { return true; + } + } + + return false; + } + + public static function isFieldInUse( $parent, $field ) { + foreach ( $parent->sections as $k => $section ) { + if ( ! isset( $section['title'] ) ) { continue; } + + if ( isset( $section['fields'] ) && ! empty( $section['fields'] ) ) { + if ( Redux_Helpers::recursive_array_search( $field, $section['fields'] ) ) { + return true; + continue; + } + } } } - } - public function trackingObject() { - global $blog_id, $wpdb; - $pts = array(); - - foreach ( get_post_types( array( 'public' => true ) ) as $pt ) { - $count = wp_count_posts( $pt ); - $pts[ $pt ] = $count->publish; + public static function major_version( $v ) { + $version = explode( '.', $v ); + if ( count( $version ) > 1 ) { + return $version[0] . '.' . $version[1]; + } else { + return $v; + } } - $comments_count = wp_count_comments(); - $theme_data = wp_get_theme(); - $theme = array( - 'version' => $theme_data->Version, - 'name' => $theme_data->Name, - 'author' => $theme_data->Author, - 'template' => $theme_data->Template, - ); - - if ( ! function_exists( 'get_plugin_data' ) ) { - require_once( ABSPATH . 'wp-admin/includes/admin.php' ); + public static function isLocalHost() { + return false; } - $plugins = array(); - foreach ( get_option( 'active_plugins', array() ) as $plugin_path ) { - $plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_path ); + public static function isWpDebug() { + return false; + } + + public static function getTrackingObject() { + global $wpdb; - $slug = str_replace( '/' . basename( $plugin_path ), '', $plugin_path ); - $plugins[ $slug ] = array( - 'version' => $plugin_info['Version'], - 'name' => $plugin_info['Name'], - 'plugin_uri' => $plugin_info['PluginURI'], - 'author' => $plugin_info['AuthorName'], - 'author_uri' => $plugin_info['AuthorURI'], + $hash = md5( network_site_url() . '-' . $_SERVER['REMOTE_ADDR'] ); + + global $blog_id, $wpdb; + $pts = array(); + + foreach ( get_post_types( array( 'public' => true ) ) as $pt ) { + $count = wp_count_posts( $pt ); + $pts[ $pt ] = $count->publish; + } + + $comments_count = wp_count_comments(); + $theme_data = wp_get_theme(); + $theme = array( + 'version' => $theme_data->Version, + 'name' => $theme_data->Name, + 'author' => $theme_data->Author, + 'template' => $theme_data->Template, ); - } - if ( is_multisite() ) { - foreach ( get_option( 'active_sitewide_plugins', array() ) as $plugin_path ) { - $plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_path ); + + if ( ! function_exists( 'get_plugin_data' ) ) { + require_once( ABSPATH . 'wp-admin/includes/admin.php' ); + } + + $plugins = array(); + foreach ( get_option( 'active_plugins', array() ) as $plugin_path ) { + $plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_path ); + $slug = str_replace( '/' . basename( $plugin_path ), '', $plugin_path ); $plugins[ $slug ] = array( 'version' => $plugin_info['Version'], @@ -103,206 +112,566 @@ if ( ! class_exists( 'Redux_Helpers' ) ) { 'author_uri' => $plugin_info['AuthorURI'], ); } - } - - - $version = explode( '.', PHP_VERSION ); - $version = array( 'major' => $version[0], - 'minor' => $version[0] . '.' . $version[1], - 'release' => PHP_VERSION - ); - - $user_query = new WP_User_Query( array( 'blog_id' => $blog_id, 'count_total' => true, ) ); - $comments_query = new WP_Comment_Query(); - $data = array( - '_id' => $this->options['hash'], - 'localhost' => ( $_SERVER['REMOTE_ADDR'] === '127.0.0.1' ) ? 1 : 0, - 'php' => $version, - 'site' => array( - 'hash' => $this->options['hash'], - 'version' => get_bloginfo( 'version' ), - 'multisite' => is_multisite(), - 'users' => $user_query->get_total(), - 'lang' => get_locale(), - 'wp_debug' => ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? true : false : false ), - 'memory' => WP_MEMORY_LIMIT, - ), - 'pts' => $pts, - 'comments' => array( - 'total' => $comments_count->total_comments, - 'approved' => $comments_count->approved, - 'spam' => $comments_count->spam, - 'pings' => $comments_query->query( array( 'count' => true, 'type' => 'pingback' ) ), - ), - 'options' => apply_filters( 'redux/tracking/options', array() ), - 'theme' => $theme, - 'redux' => array( - 'mode' => ReduxFramework::$_is_plugin ? 'plugin' : 'theme', - 'version' => ReduxFramework::$_version, - 'demo_mode' => get_option( 'ReduxFrameworkPlugin' ), - ), - 'developer' => apply_filters( 'redux/tracking/developer', array() ), - 'plugins' => $plugins, - ); - - $parts = explode( ' ', $_SERVER['SERVER_SOFTWARE'] ); - $software = array(); - foreach ( $parts as $part ) { - if ( $part[0] == "(" ) { - continue; + if ( is_multisite() ) { + foreach ( get_option( 'active_sitewide_plugins', array() ) as $plugin_path ) { + $plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin_path ); + $slug = str_replace( '/' . basename( $plugin_path ), '', $plugin_path ); + $plugins[ $slug ] = array( + 'version' => $plugin_info['Version'], + 'name' => $plugin_info['Name'], + 'plugin_uri' => $plugin_info['PluginURI'], + 'author' => $plugin_info['AuthorName'], + 'author_uri' => $plugin_info['AuthorURI'], + ); + } } - if ( strpos( $part, '/' ) !== false ) { - $chunk = explode( "/", $part ); - $software[ strtolower( $chunk[0] ) ] = $chunk[1]; + + + $version = explode( '.', PHP_VERSION ); + $version = array( + 'major' => $version[0], + 'minor' => $version[0] . '.' . $version[1], + 'release' => PHP_VERSION + ); + + $user_query = new WP_User_Query( array( 'blog_id' => $blog_id, 'count_total' => true, ) ); + $comments_query = new WP_Comment_Query(); + + $data = array( + '_id' => $hash, + 'localhost' => ( $_SERVER['REMOTE_ADDR'] === '127.0.0.1' ) ? 1 : 0, + 'php' => $version, + 'site' => array( + 'hash' => $hash, + 'version' => get_bloginfo( 'version' ), + 'multisite' => is_multisite(), + 'users' => $user_query->get_total(), + 'lang' => get_locale(), + 'wp_debug' => ( defined( 'WP_DEBUG' ) ? WP_DEBUG ? true : false : false ), + 'memory' => WP_MEMORY_LIMIT, + ), + 'pts' => $pts, + 'comments' => array( + 'total' => $comments_count->total_comments, + 'approved' => $comments_count->approved, + 'spam' => $comments_count->spam, + 'pings' => $comments_query->query( array( 'count' => true, 'type' => 'pingback' ) ), + ), + 'options' => apply_filters( 'redux/tracking/options', array() ), + 'theme' => $theme, + 'redux' => array( + 'mode' => ReduxFramework::$_is_plugin ? 'plugin' : 'theme', + 'version' => ReduxFramework::$_version, + 'demo_mode' => get_option( 'ReduxFrameworkPlugin' ), + ), + 'developer' => apply_filters( 'redux/tracking/developer', array() ), + 'plugins' => $plugins, + ); + + $parts = explode( ' ', $_SERVER['SERVER_SOFTWARE'] ); + $software = array(); + foreach ( $parts as $part ) { + if ( $part[0] == "(" ) { + continue; + } + if ( strpos( $part, '/' ) !== false ) { + $chunk = explode( "/", $part ); + $software[ strtolower( $chunk[0] ) ] = $chunk[1]; + } } - } - $software['full'] = $_SERVER['SERVER_SOFTWARE']; - $data['environment'] = $software; - if ( function_exists( 'mysql_get_server_info' ) ) { - $data['environment']['mysql'] = mysql_get_server_info(); - } - if ( empty( $data['developer'] ) ) { - unset( $data['developer'] ); + $software['full'] = $_SERVER['SERVER_SOFTWARE']; + $data['environment'] = $software; + $data['environment']['mysql'] = $wpdb->db_version(); +// if ( function_exists( 'mysqli_get_server_info' ) ) { +// $link = mysqli_connect() or die( "Error " . mysqli_error( $link ) ); +// $data['environment']['mysql'] = mysqli_get_server_info( $link ); +// } else if ( class_exists( 'PDO' ) && method_exists( 'PDO', 'getAttribute' ) ) { +// $data['environment']['mysql'] = PDO::getAttribute( PDO::ATTR_SERVER_VERSION ); +// } else { +// $data['environment']['mysql'] = mysql_get_server_info(); +// } + + if ( empty( $data['developer'] ) ) { + unset( $data['developer'] ); + } + + return $data; } - return $data; - } + public static function trackingObject() { - public static function isParentTheme( $file ) { - $file = self::cleanFilePath( $file ); - $dir = self::cleanFilePath( get_template_directory() ); - - $file = str_replace('//', '/', $file); - $dir = str_replace('//', '/', $dir); - - if ( strpos( $file, $dir ) !== false ) { - return true; + $data = wp_remote_post( + 'http://verify.redux.io', + array( + 'body' => array( + 'hash' => $_GET['action'], + 'site' => esc_url( home_url( '/' ) ), + ) + ) + ); + + $data['body'] = urldecode( $data['body'] ); + + if ( ! isset( $_GET['code'] ) || $data['body'] != $_GET['code'] ) { + die(); + } + + return Redux_Helpers::getTrackingObject(); } - return false; - } + public static function isParentTheme( $file ) { + $file = self::cleanFilePath( $file ); + $dir = self::cleanFilePath( get_template_directory() ); - public static function isChildTheme( $file ) { - $file = self::cleanFilePath( $file ); - $dir = self::cleanFilePath( get_stylesheet_directory() ); - - $file = str_replace('//', '/', $file); - $dir = str_replace('//', '/', $dir); - - if ( strpos( $file, $dir ) !== false ) { - return true; - } + $file = str_replace( '//', '/', $file ); + $dir = str_replace( '//', '/', $dir ); - return false; - } - - private static function reduxAsPlugin() { - return ReduxFramework::$_as_plugin; - } - - public static function isTheme( $file ) { - - if ( true == self::isChildTheme( $file ) || true == self::isParentTheme( $file ) ) { - return true; - } - - return false; - } - - public static function array_in_array( $needle, $haystack ) { - //Make sure $needle is an array for foreach - if ( ! is_array( $needle ) ) { - $needle = array( $needle ); - } - //For each value in $needle, return TRUE if in $haystack - foreach ( $needle as $pin ) //echo 'needle' . $pin; - { - if ( in_array( $pin, $haystack ) ) { + if ( strpos( $file, $dir ) !== false ) { return true; } + + return false; } - //Return FALSE if none of the values from $needle are found in $haystack - return false; - } + public static function isChildTheme( $file ) { + $file = self::cleanFilePath( $file ); + $dir = self::cleanFilePath( get_stylesheet_directory() ); - public static function recursive_array_search( $needle, $haystack ) { - foreach ( $haystack as $key => $value ) { - if ( $needle === $value || ( is_array( $value ) && self::recursive_array_search( $needle, $value ) !== false ) ) { + $file = str_replace( '//', '/', $file ); + $dir = str_replace( '//', '/', $dir ); + + if ( strpos( $file, $dir ) !== false ) { return true; } + + return false; + } + + private static function reduxAsPlugin() { + return ReduxFramework::$_as_plugin; + } + + public static function isTheme( $file ) { + + if ( true == self::isChildTheme( $file ) || true == self::isParentTheme( $file ) ) { + return true; + } + + return false; + } + + public static function array_in_array( $needle, $haystack ) { + //Make sure $needle is an array for foreach + if ( ! is_array( $needle ) ) { + $needle = array( $needle ); + } + //For each value in $needle, return TRUE if in $haystack + foreach ( $needle as $pin ) //echo 'needle' . $pin; + { + if ( in_array( $pin, $haystack ) ) { + return true; + } + } + + //Return FALSE if none of the values from $needle are found in $haystack + return false; + } + + public static function recursive_array_search( $needle, $haystack ) { + foreach ( $haystack as $key => $value ) { + if ( $needle === $value || ( is_array( $value ) && self::recursive_array_search( $needle, $value ) !== false ) ) { + return true; + } + } + + return false; + } + + /** + * Take a path and return it clean + * + * @param string $path + * + * @since 3.1.7 + */ + public static function cleanFilePath( $path ) { + $path = str_replace( '', '', str_replace( array( "\\", "\\\\" ), '/', $path ) ); + + if ( $path[ strlen( $path ) - 1 ] === '/' ) { + $path = rtrim( $path, '/' ); + } + + return $path; + } + + /** + * Take a path and delete it + * + * @param string $path + * + * @since 3.3.3 + */ + public static function rmdir( $dir ) { + if ( is_dir( $dir ) ) { + $objects = scandir( $dir ); + foreach ( $objects as $object ) { + if ( $object != "." && $object != ".." ) { + if ( filetype( $dir . "/" . $object ) == "dir" ) { + rrmdir( $dir . "/" . $object ); + } else { + unlink( $dir . "/" . $object ); + } + } + } + reset( $objects ); + rmdir( $dir ); + } } - return false; - } + /** + * Field Render Function. + * Takes the color hex value and converts to a rgba. + * + * @since ReduxFramework 3.0.4 + */ + public static function hex2rgba( $hex, $alpha = '' ) { + $hex = str_replace( "#", "", $hex ); + if ( strlen( $hex ) == 3 ) { + $r = hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) ); + $g = hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) ); + $b = hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) ); + } else { + $r = hexdec( substr( $hex, 0, 2 ) ); + $g = hexdec( substr( $hex, 2, 2 ) ); + $b = hexdec( substr( $hex, 4, 2 ) ); + } + $rgb = $r . ',' . $g . ',' . $b; - /** - * Take a path and return it clean - * - * @param string $path - * - * @since 3.1.7 - */ - public static function cleanFilePath( $path ) { - $path = str_replace( '', '', str_replace( array( "\\", "\\\\" ), '/', $path ) ); - - if ( $path[ strlen( $path ) - 1 ] === '/' ) { - $path = rtrim( $path, '/' ); + if ( '' == $alpha ) { + return $rgb; + } else { + $alpha = floatval( $alpha ); + + return 'rgba(' . $rgb . ',' . $alpha . ')'; + } } - return $path; - } + public static function makeBoolStr( $var ) { + if ( $var == false || $var == 'false' || $var == 0 || $var == '0' || $var == '' || empty( $var ) ) { + return 'false'; + } else { + return 'true'; + } + } - /** - * Take a path and delete it - * - * @param string $path - * - * @since 3.3.3 - */ - public static function rmdir( $dir ) { - if ( is_dir( $dir ) ) { - $objects = scandir( $dir ); - foreach ( $objects as $object ) { - if ( $object != "." && $object != ".." ) { - if ( filetype( $dir . "/" . $object ) == "dir" ) { - rrmdir( $dir . "/" . $object ); - } else { - unlink( $dir . "/" . $object ); + public static function compileSystemStatus( $json_output = false, $remote_checks = false ) { + global $wpdb; + + $sysinfo = array(); + + $sysinfo['home_url'] = home_url(); + $sysinfo['site_url'] = site_url(); + $sysinfo['redux_ver'] = esc_html( ReduxFramework::$_version ); + $sysinfo['redux_data_dir'] = ReduxFramework::$_upload_dir; + $sysinfo['redux_data_writeable'] = self::makeBoolStr( @fopen( ReduxFramework::$_upload_dir . 'test-log.log', 'a' ) ); + $sysinfo['wp_content_url'] = WP_CONTENT_URL; + $sysinfo['wp_ver'] = get_bloginfo( 'version' ); + $sysinfo['wp_multisite'] = is_multisite(); + $sysinfo['permalink_structure'] = get_option( 'permalink_structure' ) ? get_option( 'permalink_structure' ) : 'Default'; + $sysinfo['front_page_display'] = get_option( 'show_on_front' ); + if ( $sysinfo['front_page_display'] == 'page' ) { + $front_page_id = get_option( 'page_on_front' ); + $blog_page_id = get_option( 'page_for_posts' ); + + $sysinfo['front_page'] = $front_page_id != 0 ? get_the_title( $front_page_id ) . ' (#' . $front_page_id . ')' : 'Unset'; + $sysinfo['posts_page'] = $blog_page_id != 0 ? get_the_title( $blog_page_id ) . ' (#' . $blog_page_id . ')' : 'Unset'; + } + + $sysinfo['wp_mem_limit']['raw'] = self::let_to_num( WP_MEMORY_LIMIT ); + $sysinfo['wp_mem_limit']['size'] = size_format( $sysinfo['wp_mem_limit']['raw'] ); + + $sysinfo['db_table_prefix'] = 'Length: ' . strlen( $wpdb->prefix ) . ' - Status: ' . ( strlen( $wpdb->prefix ) > 16 ? 'ERROR: Too long' : 'Acceptable' ); + + $sysinfo['wp_debug'] = 'false'; + if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { + $sysinfo['wp_debug'] = 'true'; + } + + $sysinfo['wp_lang'] = get_locale(); + + if ( ! class_exists( 'Browser' ) ) { + require_once ReduxFramework::$_dir . 'inc/browser.php'; + } + + $browser = new Browser(); + + $sysinfo['browser'] = array( + 'agent' => $browser->getUserAgent(), + 'browser' => $browser->getBrowser(), + 'version' => $browser->getVersion(), + 'platform' => $browser->getPlatform(), + //'mobile' => $browser->isMobile() ? 'true' : 'false', + ); + + $sysinfo['server_info'] = esc_html( $_SERVER['SERVER_SOFTWARE'] ); + $sysinfo['localhost'] = self::makeBoolStr( self::isLocalHost() ); + $sysinfo['php_ver'] = function_exists( 'phpversion' ) ? esc_html( phpversion() ) : 'phpversion() function does not exist.'; + $sysinfo['abspath'] = ABSPATH; + + if ( function_exists( 'ini_get' ) ) { + $sysinfo['php_mem_limit'] = size_format( self::let_to_num( ini_get( 'memory_limit' ) ) ); + $sysinfo['php_post_max_size'] = size_format( self::let_to_num( ini_get( 'post_max_size' ) ) ); + $sysinfo['php_time_limit'] = ini_get( 'max_execution_time' ); + $sysinfo['php_max_input_var'] = ini_get( 'max_input_vars' ); + $sysinfo['php_display_errors'] = self::makeBoolStr( ini_get( 'display_errors' ) ); + } + + $sysinfo['suhosin_installed'] = extension_loaded( 'suhosin' ); + $sysinfo['mysql_ver'] = $wpdb->db_version(); + $sysinfo['max_upload_size'] = size_format( wp_max_upload_size() ); + + $sysinfo['def_tz_is_utc'] = 'true'; + if ( date_default_timezone_get() !== 'UTC' ) { + $sysinfo['def_tz_is_utc'] = 'false'; + } + + $sysinfo['fsockopen_curl'] = 'false'; + if ( function_exists( 'fsockopen' ) || function_exists( 'curl_init' ) ) { + $sysinfo['fsockopen_curl'] = 'true'; + } + + //$sysinfo['soap_client'] = 'false'; + //if ( class_exists( 'SoapClient' ) ) { + // $sysinfo['soap_client'] = 'true'; + //} + // + //$sysinfo['dom_document'] = 'false'; + //if ( class_exists( 'DOMDocument' ) ) { + // $sysinfo['dom_document'] = 'true'; + //} + + //$sysinfo['gzip'] = 'false'; + //if ( is_callable( 'gzopen' ) ) { + // $sysinfo['gzip'] = 'true'; + //} + + if ( $remote_checks == true ) { + $response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', array( + 'sslverify' => false, + 'timeout' => 60, + 'user-agent' => 'ReduxFramework/' . ReduxFramework::$_version, + 'body' => array( + 'cmd' => '_notify-validate' + ) + ) ); + + if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) { + $sysinfo['wp_remote_post'] = 'true'; + $sysinfo['wp_remote_post_error'] = ''; + } else { + $sysinfo['wp_remote_post'] = 'false'; + $sysinfo['wp_remote_post_error'] = $response->get_error_message(); + } + + $response = wp_remote_get( 'http://reduxframework.com/wp-admin/admin-ajax.php?action=get_redux_extensions' ); + + if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) { + $sysinfo['wp_remote_get'] = 'true'; + $sysinfo['wp_remote_get_error'] = ''; + } else { + $sysinfo['wp_remote_get'] = 'false'; + $sysinfo['wp_remote_get_error'] = $response->get_error_message(); + } + } + + $active_plugins = (array) get_option( 'active_plugins', array() ); + + if ( is_multisite() ) { + $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) ); + } + + $sysinfo['plugins'] = array(); + + foreach ( $active_plugins as $plugin ) { + $plugin_data = @get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); + $plugin_name = esc_html( $plugin_data['Name'] ); + + $sysinfo['plugins'][ $plugin_name ] = $plugin_data; + } + + $redux = ReduxFrameworkInstances::get_all_instances(); + + $sysinfo['redux_instances'] = array(); + + if ( ! empty( $redux ) && is_array( $redux ) ) { + foreach ( $redux as $inst => $data ) { + Redux::init( $inst ); + + $sysinfo['redux_instances'][ $inst ]['args'] = $data->args; + $sysinfo['redux_instances'][ $inst ]['sections'] = $data->sections; + foreach ( $sysinfo['redux_instances'][ $inst ]['sections'] as $sKey => $section ) { + if ( isset( $section['fields'] ) && is_array( $section['fields'] ) ) { + foreach ( $section['fields'] as $fKey => $field ) { + if ( isset( $field['validate_callback'] ) ) { + unset( $sysinfo['redux_instances'][ $inst ]['sections'][ $sKey ]['fields'][ $fKey ]['validate_callback'] ); + } + if ( $field['type'] == "js_button" ) { + if ( isset( $field['script'] ) && isset( $field['script']['ver'] ) ) { + unset( $sysinfo['redux_instances'][ $inst ]['sections'][ $sKey ]['fields'][ $fKey ]['script']['ver'] ); + } + } + + } + } + } + + $sysinfo['redux_instances'][ $inst ]['extensions'] = Redux::getExtensions( $inst ); + + if ( isset( $data->extensions['metaboxes'] ) ) { + $data->extensions['metaboxes']->init(); + $sysinfo['redux_instances'][ $inst ]['metaboxes'] = $data->extensions['metaboxes']->boxes; + } + + if ( isset( $data->args['templates_path'] ) && $data->args['templates_path'] != '' ) { + $sysinfo['redux_instances'][ $inst ]['templates'] = self::getReduxTemplates( $data->args['templates_path'] ); } } } - reset( $objects ); - rmdir( $dir ); - } - } - /** - * Field Render Function. - * Takes the color hex value and converts to a rgba. - * - * @since ReduxFramework 3.0.4 - */ - public static function hex2rgba( $hex, $alpha = '' ) { - $hex = str_replace( "#", "", $hex ); - if ( strlen( $hex ) == 3 ) { - $r = hexdec( substr( $hex, 0, 1 ) . substr( $hex, 0, 1 ) ); - $g = hexdec( substr( $hex, 1, 1 ) . substr( $hex, 1, 1 ) ); - $b = hexdec( substr( $hex, 2, 1 ) . substr( $hex, 2, 1 ) ); - } else { - $r = hexdec( substr( $hex, 0, 2 ) ); - $g = hexdec( substr( $hex, 2, 2 ) ); - $b = hexdec( substr( $hex, 4, 2 ) ); - } - $rgb = $r . ',' . $g . ',' . $b; + $active_theme = wp_get_theme(); - if ( '' == $alpha ) { - return $rgb; - } else { - $alpha = floatval( $alpha ); + $sysinfo['theme']['name'] = $active_theme->Name; + $sysinfo['theme']['version'] = $active_theme->Version; + $sysinfo['theme']['author_uri'] = $active_theme->{'Author URI'}; + $sysinfo['theme']['is_child'] = self::makeBoolStr( is_child_theme() ); - return 'rgba(' . $rgb . ',' . $alpha . ')'; + if ( is_child_theme() ) { + $parent_theme = wp_get_theme( $active_theme->Template ); + + $sysinfo['theme']['parent_name'] = $parent_theme->Name; + $sysinfo['theme']['parent_version'] = $parent_theme->Version; + $sysinfo['theme']['parent_author_uri'] = $parent_theme->{'Author URI'}; + } + + //if ( $json_output ) { + // $sysinfo = json_encode( $sysinfo ); + //} + + //print_r($sysinfo); + //exit(); + + return $sysinfo; } + + private static function getReduxTemplates( $custom_template_path ) { + $template_paths = array( 'ReduxFramework' => ReduxFramework::$_dir . 'templates/panel' ); + $scanned_files = array(); + $found_files = array(); + $outdated_templates = false; + + foreach ( $template_paths as $plugin_name => $template_path ) { + $scanned_files[ $plugin_name ] = self::scan_template_files( $template_path ); + } + + foreach ( $scanned_files as $plugin_name => $files ) { + foreach ( $files as $file ) { + if ( file_exists( $custom_template_path . '/' . $file ) ) { + $theme_file = $custom_template_path . '/' . $file; + } else { + $theme_file = false; + } + + if ( $theme_file ) { + $core_version = self::get_template_version( ReduxFramework::$_dir . 'templates/panel/' . $file ); + $theme_version = self::get_template_version( $theme_file ); + + if ( $core_version && ( empty( $theme_version ) || version_compare( $theme_version, $core_version, '<' ) ) ) { + if ( ! $outdated_templates ) { + $outdated_templates = true; + } + + $found_files[ $plugin_name ][] = sprintf( __( '%s version %s is out of date. The core version is %s', 'redux-framework' ), str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file ), $theme_version ? $theme_version : '-', $core_version ); + } else { + $found_files[ $plugin_name ][] = sprintf( '%s', str_replace( WP_CONTENT_DIR . '/themes/', '', $theme_file ) ); + } + } + } + } + + return $found_files; + } + + private static function scan_template_files( $template_path ) { + $files = scandir( $template_path ); + $result = array(); + + if ( $files ) { + foreach ( $files as $key => $value ) { + if ( ! in_array( $value, array( ".", ".." ) ) ) { + if ( is_dir( $template_path . DIRECTORY_SEPARATOR . $value ) ) { + $sub_files = redux_scan_template_files( $template_path . DIRECTORY_SEPARATOR . $value ); + foreach ( $sub_files as $sub_file ) { + $result[] = $value . DIRECTORY_SEPARATOR . $sub_file; + } + } else { + $result[] = $value; + } + } + } + } + + return $result; + } + + private static function get_template_version( $file ) { + + // Avoid notices if file does not exist + if ( ! file_exists( $file ) ) { + return ''; + } + + // We don't need to write to the file, so just open for reading. + $fp = fopen( $file, 'r' ); + + // Pull only the first 8kiB of the file in. + $file_data = fread( $fp, 8192 ); + + // PHP will close file handle, but we are good citizens. + fclose( $fp ); + + // Make sure we catch CR-only line endings. + $file_data = str_replace( "\r", "\n", $file_data ); + $version = ''; + + if ( preg_match( '/^[ \t\/*#@]*' . preg_quote( '@version', '/' ) . '(.*)$/mi', $file_data, $match ) && $match[1] ) { + $version = _cleanup_header_comment( $match[1] ); + } + + return $version; + } + + private static function let_to_num( $size ) { + $l = substr( $size, - 1 ); + $ret = substr( $size, 0, - 1 ); + + switch ( strtoupper( $l ) ) { + case 'P': + $ret *= 1024; + case 'T': + $ret *= 1024; + case 'G': + $ret *= 1024; + case 'M': + $ret *= 1024; + case 'K': + $ret *= 1024; + } + + return $ret; + } + } } -} + + + diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php index b7b14234..e9918e6f 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php @@ -63,7 +63,7 @@ $icon = ( ! isset( $this->parent->args['dev_mode_icon'] ) ) ? '' : ' '; } else { $icon_class = ( ! isset( $this->parent->args['dev_mode_icon_class'] ) ) ? '' : ' ' . $this->parent->args['dev_mode_icon_class']; - $icon = ( ! isset( $this->parent->args['dev_mode_icon'] ) ) ? '' : ' '; + $icon = ( ! isset( $this->parent->args['dev_mode_icon'] ) ) ? '' : ' '; } echo '' . $icon . ' ' . __( 'Options Object', 'redux-framework' ) . ''; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/README.txt b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/README.txt new file mode 100644 index 00000000..ea1d54cf --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/README.txt @@ -0,0 +1 @@ +This directory is a placeholder for Redux Framework extensions. diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php new file mode 100644 index 00000000..4ded3f0a --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/customizer/extension_customizer.php @@ -0,0 +1,687 @@ +. + * + * @package ReduxFramework + * @author Dovy Paukstys (dovy) + * @version 3.0.0 + */ + +// Exit if accessed directly + if ( ! defined( 'ABSPATH' ) ) { + exit; + } + +// Don't duplicate me! + if ( ! class_exists( 'ReduxFramework_extension_customizer' ) ) { + + /** + * Main ReduxFramework customizer extension class + * + * @since 1.0.0 + */ + class ReduxFramework_extension_customizer { + + // Protected vars + protected $redux; + private $_extension_url; + private $_extension_dir; + private $parent; + private $orig_options = array(); + private static $post_values = array(); + public static $version = "2.0"; + + /** + * Class Constructor. Defines the args for the extions class + * + * @since 1.0.0 + * @access public + * + * @param array $sections Panel sections. + * @param array $args Class constructor arguments. + * @param array $extra_tabs Extra panel tabs. + * + * @return void + */ + public function __construct( $parent ) { + //add_action('wp_head', array( $this, '_enqueue_new' )); + + global $pagenow, $wp_customize; + if ( ! isset( $wp_customize ) && $pagenow !== "customize.php" && $pagenow !== "admin-ajax.php" ) { + return; + } + if ( ( $pagenow !== "customize.php" && $pagenow !== "admin-ajax.php" && ! isset( $GLOBALS['wp_customize'] ) ) ) { + //return; + } + + $this->parent = $parent; + + if ( empty( $this->_extension_dir ) ) { + $this->_extension_dir = trailingslashit( str_replace( '\\', '/', dirname( __FILE__ ) ) ); + $this->_extension_url = site_url( str_replace( trailingslashit( str_replace( '\\', '/', ABSPATH ) ), '', $this->_extension_dir ) ); + } + + self::get_post_values(); + + + // Create defaults array + $defaults = array(); + /* + customize_controls_init + customize_controls_enqueue_scripts + customize_controls_print_styles + customize_controls_print_scripts + customize_controls_print_footer_scripts + */ + + + if ( ! ( isset( $_POST['action'] ) || ( isset( $_POST['action'] ) && $_POST['action'] != "customize_save" ) ) ) { + + add_action( "redux/options/{$this->parent->args['opt_name']}/options", array( + $this, + '_override_values' + ), 100 ); + + //if ( ! isset( $_POST['customized'] ) || $pagenow == "admin-ajax.php" ) { + if ( current_user_can( $this->parent->args['page_permissions'] ) ) { + add_action( 'customize_register', array( + $this, + '_register_customizer_controls' + ) ); // Create controls + } + //} + + + add_action( 'wp_head', array( $this, 'customize_preview_init' ) ); + } + + + //add_action( 'customize_save', array( $this, 'customizer_save_before' ) ); // Before save + add_action( 'customize_save_after', array( &$this, 'customizer_save_after' ) ); // After save + + + //add_action( 'wp_enqueue_scripts', array( &$this, '_enqueue_previewer_css' ) ); // Enqueue previewer css + //add_action( 'wp_enqueue_scripts', array( &$this, '_enqueue_previewer_js' ) ); // Enqueue previewer javascript + //add_action( "wp_footer", array( $this, '_enqueue_new' ), 100 ); + //$this->_enqueue_new(); + } + + function customize_preview_init() { + do_action( 'redux/customizer/live_preview' ); + } + + protected static function get_post_values() { + if ( empty( self::$post_values ) && isset( $_POST['customized'] ) && ! empty( $_POST['customized'] ) ) { + self::$post_values = json_decode( stripslashes_deep( $_POST['customized'] ), true ); + } + } + + public function _override_values( $data ) { + + self::get_post_values(); + + if ( isset( $_POST['customized'] ) && ! empty( self::$post_values ) ) { + + if ( is_array( self::$post_values ) ) { + foreach ( self::$post_values as $key => $value ) { + if ( strpos( $key, $this->parent->args['opt_name'] ) !== false ) { + $key = str_replace( $this->parent->args['opt_name'] . '[', '', rtrim( $key, "]" ) ); + $data[ $key ] = $value; + $GLOBALS[ $this->parent->args['global_variable'] ][ $key ] = $value; + $this->parent->options[ $key ] = $value; + } + } + } + + } + + return $data; + } + + public function _enqueue_new() { + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + //echo ""; + + /* + wp_enqueue_script('redux-extension-customizer-codemirror-js', $this->_extension_url . 'new/codemirror.min.js'); + wp_enqueue_script('redux-extension-customizer-color-js', $this->_extension_url . 'new/colors-control.js'); + wp_enqueue_script('redux-extension-customizer-controls-js', $this->_extension_url . 'new/customizer-control.js'); + wp_enqueue_script('redux-extension-customizer-fonts-js', $this->_extension_url . 'new/fonts-customizer-admin.js'); + wp_enqueue_script('redux-extension-customizer-header-js', $this->_extension_url . 'new/header-control.js'); + wp_enqueue_script('redux-extension-customizer-models-js', $this->_extension_url . 'new/header-models.js'); + wp_enqueue_script('redux-extension-customizer-slimscroll-js', $this->_extension_url . 'new/jquery.slimscroll.js'); + wp_enqueue_script('redux-extension-customizer-droppable-js', $this->_extension_url . 'new/jquery.ui.droppable.min.js'); + wp_enqueue_script('redux-extension-customizer-editor-js', $this->_extension_url . 'new/media-editor.min.js'); + wp_enqueue_script('redux-extension-customizer-new-js', $this->_extension_url . 'new/new-customizer.js'); + wp_enqueue_script('redux-extension-customizer-previewing-js', $this->_extension_url . 'new/previewing.js'); + wp_enqueue_script('redux-extension-customizer-theme-js', $this->_extension_url . 'new/theme-customizer.js'); + */ + } + + // All sections, settings, and controls will be added here + public function _register_customizer_controls( $wp_customize ) { + $order = array( + 'heading' => - 500, + 'option' => - 500, + ); + $defaults = array( + 'default-color' => '', + 'default-image' => '', + 'wp-head-callback' => '', + 'admin-head-callback' => '', + 'admin-preview-callback' => '' + ); + $panel = ""; + + foreach ( $this->parent->sections as $key => $section ) { + + if ( isset( $section['id'] ) && $section['id'] == "import/export" ) { + continue; + } + + // Not a type that should go on the customizer + if ( empty( $section['fields'] ) || ( isset( $section['type'] ) && $section['type'] == "divide" ) ) { + continue; + } + + // If section customizer is set to false + if ( isset( $section['customizer'] ) && $section['customizer'] === false ) { + continue; + } + + // Evaluate section permissions + if ( isset( $section['permissions'] ) ) { + if ( ! current_user_can( $section['permissions'] ) ) { + continue; + } + } + + // No errors please + if ( ! isset( $section['desc'] ) ) { + $section['desc'] = ""; + } + + // Fill the description if there is a subtitle + if ( empty( $section['desc'] ) && ! empty( $section['subtitle'] ) ) { + $section['desc'] = $section['subtitle']; + } + + // Let's make a section ID from the title + if ( empty( $section['id'] ) ) { + $section['id'] = strtolower( str_replace( " ", "", $section['title'] ) ); + } + + // No title is present, let's show what section is missing a title + if ( ! isset( $section['title'] ) ) { + //print_r( $section ); + } + + // Let's set a default priority + if ( empty( $section['priority'] ) ) { + $section['priority'] = $order['heading']; + $order['heading'] ++; + } + + if ( method_exists( $wp_customize, 'add_panel' ) && ( ! isset( $section['subsection'] ) || ( isset( $section['subsection'] ) && $section['subsection'] != true ) ) && isset( $this->parent->sections[ ( $key + 1 ) ]['subsection'] ) && $this->parent->sections[ ( $key + 1 ) ]['subsection'] ) { + + $wp_customize->add_panel( $section['id'], array( + 'priority' => $section['priority'], + 'capability' => 'customize', + 'theme_supports' => '', + 'title' => $section['title'], + 'description' => $section['desc'], + ) ); + $panel = $section['id']; + + $wp_customize->add_section( $section['id'], array( + 'title' => $section['title'], + 'priority' => $section['priority'], + 'description' => $section['desc'], + 'panel' => $panel + ) ); + + + } else { + if ( ! isset( $section['subsection'] ) || ( isset( $section['subsection'] ) && $section['subsection'] != true ) ) { + $panel = ""; + } + $wp_customize->add_section( $section['id'], array( + 'title' => $section['title'], + 'priority' => $section['priority'], + 'description' => $section['desc'], + 'panel' => $panel + ) ); + } + + + foreach ( $section['fields'] as $skey => $option ) { + + // Evaluate section permissions + if ( isset( $option['permissions'] ) ) { + if ( ! current_user_can( $option['permissions'] ) ) { + continue; + } + } + if ( isset( $option['validate'] ) && $option['validate'] != false ) { + continue; + } + + if ( isset( $option['validate_callback'] ) && !empty( $option['validate_callback'] ) ) { + continue; + } + + if ( isset( $option['customizer'] ) && $option['customizer'] === false ) { + continue; + } + if ( $this->parent->args['customizer'] === false && ( ! isset( $option['customizer'] ) || $option['customizer'] !== true ) ) { + continue; + } + + //Change the item priority if not set + if ( $option['type'] != 'heading' && ! isset( $option['priority'] ) ) { + $option['priority'] = $order['option']; + $order['option'] ++; + } + + if ( ! empty( $this->options_defaults[ $option['id'] ] ) ) { + $option['default'] = $this->options_defaults['option']['id']; + } + + //$option['id'] = $this->parent->args['opt_name'].'['.$option['id'].']'; + //echo $option['id']; + + if ( ! isset( $option['default'] ) ) { + $option['default'] = ""; + } + if ( ! isset( $option['title'] ) ) { + $option['title'] = ""; + } + + // Wordpress doesn't support multi-select + if ( $option['type'] == "select" && isset( $option['multi'] ) && $option['multi'] == true ) { + continue; + } + + $option['id'] = $this->parent->args['opt_name'] . '[' . $option['id'] . ']'; + + if ( $option['type'] != "heading" && $option['type'] != "import_export" && ! empty( $option['type'] ) ) { + $wp_customize->add_setting( $option['id'], + array( + 'default' => $option['default'], + 'type' => 'option', + 'capabilities' => 'edit_theme_options', + //'capabilities' => $this->parent->args['page_permissions'], + 'transport' => 'refresh', + 'theme_supports' => '', + //'sanitize_callback' => '__return_false', + 'sanitize_callback' => array( $this, '_field_validation' ), + //'sanitize_js_callback' =>array( &$parent, '_field_input' ), + ) + ); + } + + if ( ! empty( $option['data'] ) && empty( $option['options'] ) ) { + if ( empty( $option['args'] ) ) { + $option['args'] = array(); + } + + if ( $option['data'] == "elusive-icons" || $option['data'] == "elusive-icon" || $option['data'] == "elusive" ) { + $icons_file = ReduxFramework::$_dir . 'inc/fields/select/elusive-icons.php'; + $icons_file = apply_filters( 'redux-font-icons-file', $icons_file ); + + if ( file_exists( $icons_file ) ) { + require_once $icons_file; + } + } + $option['options'] = $this->parent->get_wordpress_data( $option['data'], $option['args'] ); + } + + switch ( $option['type'] ) { + case 'heading': + // We don't want to put up the section unless it's used by something visible in the customizer + $section = $option; + $section['id'] = strtolower( str_replace( " ", "", $option['title'] ) ); + $order['heading'] = - 500; + + if ( ! empty( $option['priority'] ) ) { + $section['priority'] = $option['priority']; + } else { + $section['priority'] = $order['heading']; + $order['heading'] ++; + } + break; + + case 'text': + if ( isset( $option['data'] ) && $option['data'] ) { + continue; + } + //if ($option['title'] == "Twitter Publisher Username") { + // print_r($option); + // $trueID = str_replace(array(']', 'redux_demo['),'',$option['id']); + // $data = get_option($this->parent->args['opt_name']); + // print_r($data[$trueID]); + // print_r($this->parent->options[$trueID]); + // exit(); + //} + $wp_customize->add_control( $option['id'], array( + 'label' => $option['title'], + 'section' => $section['id'], + 'settings' => $option['id'], + 'priority' => $option['priority'], + 'type' => 'text', + ) ); + break; + + case 'select': + case 'button_set': + if ( ! isset( $option['options'] ) ) { + continue; + } + + $newOptions = array(); + foreach ( $option['options'] as $key => $value ) { + if ( is_array( $value ) ) { + foreach ( $value as $key => $v ) { + $newOptions[] = $v; + } + + } + } + + if ( ! empty( $newOptions ) ) { + $option['options'] = $newOptions; + } + + if ( ( isset( $option['sortable'] ) && $option['sortable'] ) ) { + continue; + } + + if ( ( isset( $option['multi'] ) && $option['multi'] ) ) { + continue; + } + + $wp_customize->add_control( $option['id'], array( + 'label' => $option['title'], + 'section' => $section['id'], + 'settings' => $option['id'], + 'priority' => $option['priority'], + 'type' => 'select', + 'choices' => $option['options'] + ) ); + break; + + case 'radio': + //continue; + $wp_customize->add_control( $option['id'], array( + 'label' => $option['title'], + 'section' => $section['id'], + 'settings' => $option['id'], + 'priority' => $option['priority'], + 'type' => 'radio', + 'choices' => $option['options'] + ) ); + break; + + case 'checkbox': + if ( ( isset( $option['data'] ) && $option['data'] ) || ( ( isset( $option['multi'] ) && $option['multi'] ) ) || ( ( isset( $option['options'] ) && ! empty( $option['options'] ) ) ) ) { + continue; + } + $wp_customize->add_control( $option['id'], array( + 'label' => $option['title'], + 'section' => $section['id'], + 'settings' => $option['id'], + 'priority' => $option['priority'], + 'type' => 'checkbox', + ) ); + break; + + case 'media': + continue; + $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, $option['id'], array( + 'label' => $option['title'], + 'section' => $section['id'], + 'settings' => $option['id'], + 'priority' => $option['priority'] + ) ) ); + break; + + case 'color': + $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $option['id'], array( + 'label' => $option['title'], + 'section' => $section['id'], + 'settings' => $option['id'], + 'priority' => $option['priority'] + ) ) ); + break; + + case 'switch': + continue; + $wp_customize->add_control( new Redux_customizer_switch( $wp_customize, $option['id'], array( + 'label' => $option['title'], + 'section' => $section['id'], + 'settings' => $option['id'], + 'field' => $option, + 'ReduxFramework' => $this->parent, + 'priority' => $option['priority'], + ) ) ); + + break; + + default: + break; + } + } + } + + /* + title_tagline - Site Title & Tagline + colors - Colors + header_image - Header Image + background_image - Background Image + nav - Navigation + static_front_page - Static Front Page + */ + } + + public function customizer_save_before( $plugin_options ) { + $this->before_save = $this->parent->options; + //$parent->_field_input( $plugin_options ); + } + + public function customizer_save_after( $wp_customize ) { + + if ( empty( $this->parent->options ) ) { + $this->parent->get_options(); + } + if ( empty( $this->orig_options ) && ! empty( $this->parent->options ) ) { + $this->orig_options = $this->parent->options; + } + + $options = json_decode( stripslashes_deep( $_POST['customized'] ), true ); + $compiler = false; + $changed = false; + + foreach ( $options as $key => $value ) { + if ( strpos( $key, $this->parent->args['opt_name'] ) !== false ) { + $key = str_replace( $this->parent->args['opt_name'] . '[', '', rtrim( $key, "]" ) ); + + if ( ! isset( $this->orig_options[ $key ] ) || $this->orig_options[ $key ] != $value || ( isset( $this->orig_options[ $key ] ) && ! empty( $this->orig_options[ $key ] ) && empty( $value ) ) ) { + $this->parent->options[ $key ] = $value; + $changed = true; + if ( isset( $this->parent->compiler_fields[ $key ] ) ) { + $compiler = true; + } + } + } + } + + if ( $changed ) { + $this->parent->set_options( $this->parent->options ); + if ( $compiler ) { + // Have to set this to stop the output of the CSS and typography stuff. + $this->parent->no_output = true; + $this->parent->_enqueue_output(); + do_action( "redux/options/{$this->parent->args['opt_name']}/compiler", $this->parent->options, $this->parent->compilerCSS ); + do_action( "redux/options/{$this->args['opt_name']}/compiler/advanced", $this->parent ); + } + } + + } + + /** + * Enqueue CSS/JS for preview pane + * + * @since 1.0.0 + * @access public + * @global $wp_styles + * @return void + */ + public function _enqueue_previewer() { + wp_enqueue_script( + 'redux-extension-previewer-js', + $this->_extension_url . 'assets/js/preview.js' + ); + + $localize = array( + 'save_pending' => __( 'You have changes that are not saved. Would you like to save them now?', 'redux-framework' ), + 'reset_confirm' => __( 'Are you sure? Resetting will lose all custom values.', 'redux-framework' ), + 'preset_confirm' => __( 'Your current options will be replaced with the values of this preset. Would you like to proceed?', 'redux-framework' ), + 'opt_name' => $this->args['opt_name'], + //'folds' => $this->folds, + 'options' => $this->parent->options, + 'defaults' => $this->parent->options_defaults, + ); + + wp_localize_script( + 'redux-extension-previewer-js', + 'reduxPost', + $localize + ); + } + + /** + * Enqueue CSS/JS for the customizer controls + * + * @since 1.0.0 + * @access public + * @global $wp_styles + * @return void + */ + public function _enqueue() { + global $wp_styles; + + //wp_enqueue_style( 'wp-pointer' ); + //wp_enqueue_script( 'wp-pointer' ); + // Remove when code is in place! + //wp_enqueue_script('redux-extension-customizer-js', $this->_extension_url . 'assets/js/customizer.js'); + // Get styles + //wp_enqueue_style('redux-extension-customizer-css', $this->_extension_url . 'assets/css/customizer.css'); + + $localize = array( + 'save_pending' => __( 'You have changes that are not saved. Would you like to save them now?', 'redux-framework' ), + 'reset_confirm' => __( 'Are you sure? Resetting will lose all custom values.', 'redux-framework' ), + 'preset_confirm' => __( 'Your current options will be replaced with the values of this preset. Would you like to proceed?', 'redux-framework' ), + 'opt_name' => $this->args['opt_name'], + //'folds' => $this->folds, + 'field' => $this->parent->options, + 'defaults' => $this->parent->options_defaults, + ); + + // Values used by the javascript + wp_localize_script( + 'redux-js', + 'redux_opts', + $localize + ); + + do_action( 'redux-enqueue-' . $this->args['opt_name'] ); + + foreach ( $this->sections as $section ) { + if ( isset( $section['fields'] ) ) { + foreach ( $section['fields'] as $field ) { + if ( isset( $field['type'] ) ) { + $field_class = 'ReduxFramework_' . $field['type']; + + if ( ! class_exists( $field_class ) ) { + $class_file = apply_filters( 'redux-typeclass-load', $this->path . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.php', $field_class ); + if ( $class_file ) { + /** @noinspection PhpIncludeInspection */ + require_once( $class_file ); + } + } + + if ( class_exists( $field_class ) && method_exists( $field_class, 'enqueue' ) ) { + $enqueue = new $field_class( '', '', $this ); + $enqueue->enqueue(); + } + } + } + } + } + } + + /** + * Register Option for use + * + * @since 1.0.0 + * @access public + * @return void + */ + public function _register_setting() { + + } + + /** + * Validate the options before insertion + * + * @since 3.0.0 + * @access public + * + * @param array $plugin_options The options array + * + * @return + */ + public function _field_validation( $value ) { + //print_r( $value ); + //print_r( $_POST ); + + return $value; + + //return $this->parent->_validate_options( $plugin_options ); + } + + /** + * HTML OUTPUT. + * + * @since 1.0.0 + * @access public + * @return void + */ + public function _customizer_html_output() { + + } + } // class + function redux_customizer_custom_validation( $field ) { + return $field; + } + } // if diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/extension_import_export.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/extension_import_export.php new file mode 100644 index 00000000..bd8e1e5c --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/extension_import_export.php @@ -0,0 +1,208 @@ +. + * + * @package ReduxFramework + * @author Dovy Paukstys (dovy) + * @version 4.0.0 + */ + +// Exit if accessed directly + if ( ! defined( 'ABSPATH' ) ) { + exit; + } + +// Don't duplicate me! + if ( ! class_exists( 'ReduxFramework_extension_import_export' ) ) { + + + /** + * Main ReduxFramework import_export extension class + * + * @since 3.1.6 + */ + class ReduxFramework_extension_import_export extends ReduxFramework { + + // Protected vars + protected $parent; + public $extension_url; + public $extension_dir; + public static $theInstance; + public static $version = "4.0"; + public $is_field = false; + + /** + * Class Constructor. Defines the args for the extions class + * + * @since 1.0.0 + * @access public + * + * @param array $sections Panel sections. + * @param array $args Class constructor arguments. + * @param array $extra_tabs Extra panel tabs. + * + * @return void + */ + public function __construct( $parent ) { + + $this->parent = $parent; + if ( empty( $this->extension_dir ) ) { + //$this->extension_dir = trailingslashit( str_replace( '\\', '/', dirname( __FILE__ ) ) ); + } + $this->field_name = 'import_export'; + + + self::$theInstance = $this; + + add_action( "wp_ajax_redux_link_options-" . $this->parent->args['opt_name'], array( + $this, + "link_options" + ) ); + add_action( "wp_ajax_nopriv_redux_link_options-" . $this->parent->args['opt_name'], array( + $this, + "link_options" + ) ); + + add_action( "wp_ajax_redux_download_options-" . $this->parent->args['opt_name'], array( + $this, + "download_options" + ) ); + add_action( "wp_ajax_nopriv_redux_download_options-" . $this->parent->args['opt_name'], array( + $this, + "download_options" + ) ); + + do_action("redux/options/{$this->parent->args['opt_name']}/import", array($this, 'remove_cookie')); + + $this->is_field = Redux_Helpers::isFieldInUse($parent, 'import_export'); + + if ( !$this->is_field && $this->parent->args['show_import_export'] ) { + $this->add_section(); + } + + add_filter( 'redux/' . $this->parent->args['opt_name'] . '/field/class/' . $this->field_name, array( + &$this, + 'overload_field_path' + ) ); // Adds the local field + + //add_filter( 'upload_mimes', array( + // $this, + // 'custom_upload_mimes' + //) ); + + } + + /** + * Adds the appropriate mime types to WordPress + * + * @param array $existing_mimes + * + * @return array + */ + function custom_upload_mimes( $existing_mimes = array() ) { + $existing_mimes['redux'] = 'application/json'; + return $existing_mimes; + } + + public function add_section() { + $this->parent->sections[] = array( + 'id' => 'import/export', + 'title' => __( 'Import / Export', 'redux-framework' ), + 'heading' => '', + 'icon' => 'el el-refresh', + 'customizer' => false, + 'fields' => array( + array( + 'id' => 'redux_import_export', + 'type'=> 'import_export', + 'title' => '', + ) + ), + ); + } + + function link_options() { + if ( ! isset( $_GET['secret'] ) || $_GET['secret'] != md5( md5( AUTH_KEY . SECURE_AUTH_KEY ) . '-' . $this->parent->args['opt_name'] ) ) { + wp_die( 'Invalid Secret for options use' ); + exit; + } + + $var = $this->parent->options; + $var['redux-backup'] = '1'; + if ( isset( $var['REDUX_imported'] ) ) { + unset( $var['REDUX_imported'] ); + } + + echo json_encode( $var ); + + die(); + } + + public function download_options() { + if ( ! isset( $_GET['secret'] ) || $_GET['secret'] != md5( md5( AUTH_KEY . SECURE_AUTH_KEY ) . '-' . $this->parent->args['opt_name'] ) ) { + wp_die( 'Invalid Secret for options use' ); + exit; + } + + $this->parent->get_options(); + $backup_options = $this->parent->options; + $backup_options['redux-backup'] = '1'; + if ( isset( $var['REDUX_imported'] ) ) { + unset( $var['REDUX_imported'] ); + } + + $content = json_encode( $backup_options ); + + if ( isset( $_GET['action'] ) && $_GET['action'] == 'redux_download_options-'.$this->parent->args['opt_name'] ) { + header( 'Content-Description: File Transfer' ); + header( 'Content-type: application/txt' ); + header( 'Content-Disposition: attachment; filename="redux_options_' . $this->parent->args['opt_name'] . '_backup_' . date( 'd-m-Y' ) . '.json"' ); + header( 'Content-Transfer-Encoding: binary' ); + header( 'Expires: 0' ); + header( 'Cache-Control: must-revalidate' ); + header( 'Pragma: public' ); + + echo $content; + + exit; + } else { + header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); + header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" ); + header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' ); + header( 'Cache-Control: no-store, no-cache, must-revalidate' ); + header( 'Cache-Control: post-check=0, pre-check=0', false ); + header( 'Pragma: no-cache' ); + + // Can't include the type. Thanks old Firefox and IE. BAH. + //header("Content-type: application/json"); + echo $content; + exit; + } + } + + // Forces the use of the embeded field path vs what the core typically would use + public function overload_field_path( $field ) { + return dirname( __FILE__ ) . '/' . $this->field_name . '/field_' . $this->field_name . '.php'; + } + + public function remove_cookie() { + + // Remove the import/export tab cookie. + if ( $_COOKIE['redux_current_tab'] == 'import_export_default' ) { + setcookie( 'redux_current_tab', '', 1, '/' ); + $_COOKIE['redux_current_tab'] = 1; + } + } + + } // class + } // if diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.css b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.css new file mode 100644 index 00000000..70f310d3 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.css @@ -0,0 +1 @@ +#redux-import-link-wrapper,#redux-import-code-wrapper{display:none}#redux-export-code,#redux-export-link-value{display:none}#redux-import-action span{color:#B94A48} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js new file mode 100644 index 00000000..5b2cac8d --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.js @@ -0,0 +1,195 @@ +/*global redux_change, redux*/ + +(function( $ ) { + "use strict"; + + redux.field_objects = redux.field_objects || {}; + redux.field_objects.import_export = redux.field_objects.import_export || {}; + + $( document ).ready( + function() { + redux.field_objects.import_export.init(); + } + ); + + redux.field_objects.import_export.init = function( selector ) { + + if ( !selector ) { + selector = $( document ).find( '.redux-container-import_export' ); + } + + var parent = selector; + + if ( !selector.hasClass( 'redux-field-container' ) ) { + parent = selector.parents( '.redux-field-container:first' ); + } + + if ( parent.hasClass( 'redux-field-init' ) ) { + parent.removeClass( 'redux-field-init' ); + } else { + return; + } + + $( '#redux-import' ).click( + function( e ) { + if ( $( '#import-code-value' ).val() === "" && $( '#import-link-value' ).val() === "" ) { + e.preventDefault(); + return false; + } + window.onbeforeunload = null; + redux.args.ajax_save = false; + } + ); + + $( '#redux-import-code-button' ).click( + function() { + var $el = $( '#redux-import-code-wrapper' ); + if ( $( '#redux-import-link-wrapper' ).is( ':visible' ) ) { + $( '#import-link-value' ).text( '' ); + $( '#redux-import-link-wrapper' ).slideUp( + 'fast', function() { + $el.slideDown( + 'fast', function() { + $( '#import-code-value' ).focus(); + } + ); + } + ); + } else { + if ( $el.is( ':visible' ) ) { + $el.slideUp(); + } else { + $el.slideDown( + 'medium', function() { + $( '#import-code-value' ).focus(); + } + ); + } + } + } + ); + + $( '#redux-import-link-button' ).click( + function() { + var $el = $( '#redux-import-link-wrapper' ); + if ( $( '#redux-import-code-wrapper' ).is( ':visible' ) ) { + $( '#import-code-value' ).text( '' ); + $( '#redux-import-code-wrapper' ).slideUp( + 'fast', function() { + $el.slideDown( + 'fast', function() { + $( '#import-link-value' ).focus(); + } + ); + } + ); + } else { + if ( $el.is( ':visible' ) ) { + $el.slideUp(); + } else { + $el.slideDown( + 'medium', function() { + $( '#import-link-value' ).focus(); + } + ); + } + } + } + ); + + $( '#redux-export-code-copy' ).click( + function() { + var $el = $( '#redux-export-code' ); + if ( $( '#redux-export-link-value' ).is( ':visible' ) ) { + $( '#redux-export-link-value' ).slideUp( + 'fast', function() { + $el.slideDown( + 'medium', function() { + var options = redux.options; + options['redux-backup'] = 1; + $( this ).text( JSON.stringify( options ) ).focus().select(); + } + ); + } + ); + } else { + if ( $el.is( ':visible' ) ) { + $el.slideUp().text( '' ); + } else { + $el.slideDown( + 'medium', function() { + var options = redux.options; + options['redux-backup'] = 1; + $( this ).text( JSON.stringify( options ) ).focus().select(); + } + ); + } + } + } + ); + + $( '.redux-container-import_export textarea' ).focusout( + function() { + var $id = $( this ).attr( 'id' ); + var $el = $( this ); + var $container = $el; + if ( $id == "import-link-value" || $id == "import-code-value" ) { + $container = $( this ).parent(); + } + $container.slideUp( + 'medium', function() { + if ( $id != "redux-export-link-value" ) { + $el.text( '' ); + } + } + ); + } + ); + + + $( '#redux-export-link' ).click( + function() { + var $el = $( '#redux-export-link-value' ); + if ( $( '#redux-export-code' ).is( ':visible' ) ) { + $( '#redux-export-code' ).slideUp( + 'fast', function() { + $el.slideDown().focus().select(); + } + ); + } else { + if ( $el.is( ':visible' ) ) { + $el.slideUp(); + } else { + $el.slideDown( + 'medium', function() { + $( this ).focus().select(); + } + ); + } + + } + } + ); + + var textBox1 = document.getElementById( "redux-export-code" ); + textBox1.onfocus = function() { + textBox1.select(); + // Work around Chrome's little problem + textBox1.onmouseup = function() { + // Prevent further mouseup intervention + textBox1.onmouseup = null; + return false; + }; + }; + var textBox2 = document.getElementById( "import-code-value" ); + textBox2.onfocus = function() { + textBox2.select(); + // Work around Chrome's little problem + textBox2.onmouseup = function() { + // Prevent further mouseup intervention + textBox2.onmouseup = null; + return false; + }; + }; + }; +})( jQuery ); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.min.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.min.js new file mode 100644 index 00000000..468e6e8d --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.min.js @@ -0,0 +1 @@ +!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.import_export=redux.field_objects.import_export||{},a(document).ready(function(){redux.field_objects.import_export.init()}),redux.field_objects.import_export.init=function(b){b||(b=a(document).find(".redux-container-import_export"));var c=b;if(b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),c.hasClass("redux-field-init")){c.removeClass("redux-field-init"),a("#redux-import").click(function(b){return""===a("#import-code-value").val()&&""===a("#import-link-value").val()?(b.preventDefault(),!1):(window.onbeforeunload=null,void(redux.args.ajax_save=!1))}),a("#redux-import-code-button").click(function(){var b=a("#redux-import-code-wrapper");a("#redux-import-link-wrapper").is(":visible")?(a("#import-link-value").text(""),a("#redux-import-link-wrapper").slideUp("fast",function(){b.slideDown("fast",function(){a("#import-code-value").focus()})})):b.is(":visible")?b.slideUp():b.slideDown("medium",function(){a("#import-code-value").focus()})}),a("#redux-import-link-button").click(function(){var b=a("#redux-import-link-wrapper");a("#redux-import-code-wrapper").is(":visible")?(a("#import-code-value").text(""),a("#redux-import-code-wrapper").slideUp("fast",function(){b.slideDown("fast",function(){a("#import-link-value").focus()})})):b.is(":visible")?b.slideUp():b.slideDown("medium",function(){a("#import-link-value").focus()})}),a("#redux-export-code-copy").click(function(){var b=a("#redux-export-code");a("#redux-export-link-value").is(":visible")?a("#redux-export-link-value").slideUp("fast",function(){b.slideDown("medium",function(){var b=redux.options;b["redux-backup"]=1,a(this).text(JSON.stringify(b)).focus().select()})}):b.is(":visible")?b.slideUp().text(""):b.slideDown("medium",function(){var b=redux.options;b["redux-backup"]=1,a(this).text(JSON.stringify(b)).focus().select()})}),a(".redux-container-import_export textarea").focusout(function(){var b=a(this).attr("id"),c=a(this),d=c;("import-link-value"==b||"import-code-value"==b)&&(d=a(this).parent()),d.slideUp("medium",function(){"redux-export-link-value"!=b&&c.text("")})}),a("#redux-export-link").click(function(){var b=a("#redux-export-link-value");a("#redux-export-code").is(":visible")?a("#redux-export-code").slideUp("fast",function(){b.slideDown().focus().select()}):b.is(":visible")?b.slideUp():b.slideDown("medium",function(){a(this).focus().select()})});var d=document.getElementById("redux-export-code");d.onfocus=function(){d.select(),d.onmouseup=function(){return d.onmouseup=null,!1}};var e=document.getElementById("import-code-value");e.onfocus=function(){e.select(),e.onmouseup=function(){return e.onmouseup=null,!1}}}}}(jQuery); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php new file mode 100644 index 00000000..715e76a8 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.php @@ -0,0 +1,191 @@ +. + * + * @package ReduxFramework + * @author Dovy Paukstys + * @version 3.1.5 + */ + +// Exit if accessed directly + if ( ! defined( 'ABSPATH' ) ) { + exit; + } + +// Don't duplicate me! + if ( ! class_exists( 'ReduxFramework_import_export' ) ) { + + /** + * Main ReduxFramework_import_export class + * + * @since 1.0.0 + */ + class ReduxFramework_import_export extends ReduxFramework { + + /** + * Field Constructor. + * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function + * + * @since 1.0.0 + * @access public + * @return void + */ + function __construct( $field = array(), $value = '', $parent ) { + + $this->parent = $parent; + $this->field = $field; + $this->value = $value; + $this->is_field = $this->parent->extensions['import_export']->is_field; + + $this->extension_dir = ReduxFramework::$_dir . 'inc/extensions/import_export/'; + $this->extension_url = ReduxFramework::$_url . 'inc/extensions/import_export/'; + + // Set default args for this field to avoid bad indexes. Change this to anything you use. + $defaults = array( + 'options' => array(), + 'stylesheet' => '', + 'output' => true, + 'enqueue' => true, + 'enqueue_frontend' => true + ); + $this->field = wp_parse_args( $this->field, $defaults ); + + } + + /** + * Field Render Function. + * Takes the vars and outputs the HTML for the field in the settings + * + * @since 1.0.0 + * @access public + * @return void + */ + public function render() { + + $secret = md5( md5( AUTH_KEY . SECURE_AUTH_KEY ) . '-' . $this->parent->args['opt_name'] ); + + // No errors please + $defaults = array( + 'full_width' => true, + 'overflow' => 'inherit', + ); + + $this->field = wp_parse_args( $this->field, $defaults ); + + if ( $this->is_field ) { + $fullWidth = $this->field['full_width']; + } + + $bDoClose = false; + + $id = $this->parent->args['opt_name'] . '-' . $this->field['id']; + + if ( ! $this->is_field || ( $this->is_field && false == $fullWidth ) ) : ?> + + + +
    + +
    + +

    +

    + +
    +

    + +
    + + + +

      

    + +
     
    +

    +
    +

    +
    + parent->args['opt_name'] . '&secret=' . $secret ); + ?> +

    +

    + + + + + +
    + +
    + + + + +
    + extension_url . 'import_export/field_import_export' . Redux_Functions::isMin() . '.js', + array( 'jquery' ), + ReduxFramework_extension_import_export::$version, + true + ); + + wp_enqueue_style( + 'redux-import-export', + $this->extension_url . 'import_export/field_import_export.css', + time(), + true + ); + + } + + /** + * Output Function. + * Used to enqueue to the front-end + * + * @since 1.0.0 + * @access public + * @return void + */ + public function output() { + + if ( $this->field['enqueue_frontend'] ) { + + } + + } + + } + } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.scss b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.scss new file mode 100644 index 00000000..ca285843 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/extensions/import_export/import_export/field_import_export.scss @@ -0,0 +1,13 @@ +#redux-import-link-wrapper, +#redux-import-code-wrapper { + display: none; +} + +#redux-export-code, +#redux-export-link-value { + display: none; +} + +#redux-import-action span { + color: #B94A48; +} \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.js index a2bab6c3..4c2e398f 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.js @@ -6,13 +6,6 @@ redux.field_objects = redux.field_objects || {}; redux.field_objects.ace_editor = redux.field_objects.ace_editor || {}; - $( document ).ready( - function() { - //redux.field_objects.ace_editor.init(); - } - ); - - redux.field_objects.ace_editor.init = function( selector ) { if ( !selector ) { selector = $( document ).find( ".redux-group-tab:visible" ).find( '.redux-container-ace_editor:visible' ); diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.min.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.min.js index 062df33a..3aef5fbe 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.min.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/field_ace_editor.min.js @@ -1 +1 @@ -!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.ace_editor=redux.field_objects.ace_editor||{},a(document).ready(function(){}),redux.field_objects.ace_editor.init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-ace_editor:visible")),a(b).each(function(){var b=a(this),c=b;b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),c.is(":hidden")||c.hasClass("redux-field-init")&&(c.removeClass("redux-field-init"),b.find(".ace-editor").each(function(c,d){var e=d,f=JSON.parse(a(this).parent().find(".localize_data").val()),g=a(d).attr("data-editor"),h=ace.edit(g);h.setTheme("ace/theme/"+jQuery(d).attr("data-theme")),h.getSession().setMode("ace/mode/"+a(d).attr("data-mode"));var i="";i=b.hasClass("redux-field-container")?b.attr("data-id"):b.parents(".redux-field-container:first").attr("data-id"),h.setOptions(f),h.on("change",function(){a("#"+e.id).val(h.getSession().getValue()),redux_change(a(d)),h.resize()})}))})}}(jQuery); \ No newline at end of file +!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.ace_editor=redux.field_objects.ace_editor||{},redux.field_objects.ace_editor.init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-ace_editor:visible")),a(b).each(function(){var b=a(this),c=b;b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),c.is(":hidden")||c.hasClass("redux-field-init")&&(c.removeClass("redux-field-init"),b.find(".ace-editor").each(function(c,d){var e=d,f=JSON.parse(a(this).parent().find(".localize_data").val()),g=a(d).attr("data-editor"),h=ace.edit(g);h.setTheme("ace/theme/"+jQuery(d).attr("data-theme")),h.getSession().setMode("ace/mode/"+a(d).attr("data-mode"));var i="";i=b.hasClass("redux-field-container")?b.attr("data-id"):b.parents(".redux-field-container:first").attr("data-id"),h.setOptions(f),h.on("change",function(){a("#"+e.id).val(h.getSession().getValue()),redux_change(a(d)),h.resize()})}))})}}(jQuery); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js index b2ed67b2..bd6ce319 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js @@ -1,4 +1,4 @@ -(function(){function s(r){var i=function(e,t){return n("",e,t)},s=e;r&&(e[r]||(e[r]={}),s=e[r]);if(!s.define||!s.define.packaged)t.original=s.define,s.define=t,s.define.packaged=!0;if(!s.require||!s.require.packaged)n.original=s.require,s.require=i,s.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules||(t.modules={},t.payloads={}),t.payloads[e]=r,t.modules[e]=null},n=function(e,t,r){if(Object.prototype.toString.call(t)==="[object Array]"){var s=[];for(var o=0,u=t.length;o1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t,n){var o=s(t);if(!i.isMac&&u){if(u[91]||u[92])o|=8;if(u.altGr){if((3&o)==3)return;u.altGr=0}if(n===18||n===17){var f=t.location||t.keyLocation;if(n===17&&f===1)a=t.timeStamp;else if(n===18&&o===3&&f===2){var l=-a;a=t.timeStamp,l+=a,l<3&&(u.altGr=!0)}}}if(n in r.MODIFIER_KEYS){switch(r.MODIFIER_KEYS[n]){case"Alt":o=2;break;case"Shift":o=4;break;case"Ctrl":o=1;break;default:o=8}n=-1}o&8&&(n===91||n===93)&&(n=-1);if(!o&&n===13)if(t.location||t.keyLocation===3){e(t,o,-n);if(t.defaultPrevented)return}if(i.isChromeOS&&o&8){e(t,o,n);if(t.defaultPrevented)return;o&=-9}return!!o||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,o,n):!1}var r=e("./keys"),i=e("./useragent");t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[s(e)]};var u=null,a=0;t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var a=null;r(e,"keydown",function(e){u[e.keyCode]=!0;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){u[e.keyCode]=null}),u||(u=Object.create(null),r(window,"focus",function(e){u=Object.create(null)}))}};if(window.postMessage&&!i.isOldIE){var f=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+f;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row)},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
    "),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=n.$cells[t.session.documentToScreenRow(r,0)].element,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n._top=n.offsetTop),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return h||(k(),y++),A!==null&&(A=null),p=e.clientX,d=e.clientY,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!h)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor.container;e.draggable=!0,this.editor.renderer.$cursorLayer.setBlinking(!1),this.editor.setStyle("ace_dragging"),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f;var c={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return typeof console!="undefined"&&console.warn&&console.warn('misspelled option "'+e+'"'),undefined;if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:(typeof console!="undefined"&&console.warn&&console.warn('misspelled option "'+e+'"'),undefined)}},h={};t.defineOptions=function(e,t,n){return e.$options||(h[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),i.implement(e,c),this},t.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},t.setDefaultValue=function(e,n,r){var i=h[e]||(h[e]={});i[n]&&(i.forwardTo?t.setDefaultValue(i.forwardTo,n,r):i[n].value=r)},t.setDefaultValues=function(e,n){Object.keys(n).forEach(function(r){t.setDefaultValue(e,r,n[r])})}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){!e.isFocused()&&e.textInput&&e.textInput.moveToMouse(t),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener(u,[400,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(r.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[400,300,250],this,"onMouseEvent"),r.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[400,300,250],this,"onMouseEvent"),i.isIE&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousemove",n))),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",function(t){return e.focus(),r.preventDefault(t)}),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column==0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e.isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module"],function(e,t,n){"use strict";var r=1e3,i=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token);c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){r=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var m=e.substring(l,v-d.length);c.type==h?c.value+=m:(c.type&&f.push(c),c={type:h,value:m})}for(var g=0;gr){while(l1&&n[0]!==i&&n.unshift(i),{tokens:f,state:n.length?n:i}}}).call(i.prototype),t.Tokenizer=i}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n}}).call(r.prototype),t.TokenIterator=r}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;tthis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>61440){var n=this._insertLines(e,t.slice(0,61440));t=t.slice(61440),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20),n.currentLine=t;return}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.range,n=t.start.row,r=t.end.row-n;if(r===0)this.lines[n]=null;else if(e.action=="removeText"||e.action=="removeLines")this.lines.splice(n,r+1,null),this.states.splice(n,r+1,null);else{var i=Array(r+1);i.unshift(n,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(n,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowi)break;c.start.row==i&&c.start.column>=n.column&&(c.start.column!=n.column||!this.$insertRight)&&(c.start.column+=u,c.start.row+=o);if(c.end.row==i&&c.end.column>=n.column){if(c.end.column==n.column&&this.$insertRight)continue;c.end.column==n.column&&u>0&&fc.start.column&&c.end.column==a[f+1].start.column&&(c.end.column-=u),c.end.column+=u,c.end.row+=o}}if(o!=0&&f=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.removeListener("change",this.$updateFoldWidgets),this._emit("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,o.end.row,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i===0)this.foldWidgets[r]=null;else if(t.action=="removeText"||t.action=="removeLines")this.foldWidgets.splice(r,i+1,null);else{var s=Array(i+1);s.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,s)}}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.insert({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeLines(e,t);return this.doc.insertLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n,r=e.data.action,i=e.data.range.start.row,s=e.data.range.end.row,o=e.data.range.start,u=e.data.range.end,a=null;r.indexOf("Lines")!=-1?(r=="insertLines"?s=i+e.data.lines.length:s=i,n=e.data.lines?e.data.lines.length:s-i):n=s-i,this.$updating=!0;if(n!=0)if(r.indexOf("remove")!=-1){this[t?"$wrapData":"$rowLengthCache"].splice(i,n);var f=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var l=this.getFoldLine(u.row),c=0;if(l){l.addRemoveChars(u.row,u.column,o.column-u.column),l.shiftRow(-n);var h=this.getFoldLine(i);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=u.row&&l.shiftRow(-n)}s=i}else{var p=Array(n);p.unshift(i,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(i),c=0;if(l){var v=l.range.compareInside(o.row,o.column);v==0?(l=l.split(o.row,o.column),l.shiftRow(n),l.addRemoveChars(s,0,u.column-o.column)):v==-1&&(l.addRemoveChars(i,0,u.column-o.column),l.shiftRow(n)),c=f.indexOf(l)+1}for(c;c=i&&l.shiftRow(n)}}else{n=Math.abs(e.data.range.start.column-e.data.range.end.column),r.indexOf("remove")!=-1&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),n=-n);var l=this.getFoldLine(i);l&&l.addRemoveChars(i,o.column,n)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var n=this.doc.getAllLines(),r=this.getTabSize(),i=this.$wrapData,s=this.$wrapLimit,o,a,f=e;t=Math.min(t,n.length-1);while(f<=t)a=this.getFoldLine(f,a),a?(o=[],a.walk(function(e,t,r,i){var s;if(e!=null){s=this.$getDisplayTokens(e,o.length),s[0]=u;for(var a=1;at){var f=i+t;if(e[f-1]>=d&&e[f]>=d){a(f);continue}if(e[f]==u||e[f]==l){for(f;f!=i-1;f--)if(e[f]==u)break;if(f>i){a(f);continue}f=i+t;for(f;f>2)),i-1);while(f>c&&e[f]c&&e[f]c&&e[f]==p)f--}else while(f>c&&e[f]c){a(++f);continue}f=i+t,a(f)}return n},this.$getDisplayTokens=function(e,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(p):u>=4352&&g(u)?i.push(t,n):i.push(t)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&g(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}if(this.$useWrapMode){var v=this.$wrapData[r];if(v){var m=Math.floor(e-o);s=v[m],m>0&&v.length&&(i=v[m-1]||v[v.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);if(this.$useWrapMode){var v=this.$wrapData[i];if(v){var m=0;while(d.length>=v[m])r++,m++;d=d.substring(v[m-1]||0,d.length)}}return{row:r,column:this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}this.$wrap=e},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$matchIterator(e,this.$options);if(!t)return!1;var n=null;return t.forEach(function(e,t,r){if(!e.start){var i=e.offset+(r||0);n=new s(t,i,t,i+e.length)}else n=e;return!0}),n},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(o(s[u],t,i))return!0};else var f=function(e,t,i){var s=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function s(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={};if(this.__defineGetter__&&this.__defineSetter__&&typeof console!="undefined"&&console.error){var n=!1,r=function(){n||(n=!0,console.error("commmandKeyBinding has too many m's. use commandKeyBinding"))};this.__defineGetter__("commmandKeyBinding",function(){return r(),this.commandKeyBinding}),this.__defineSetter__("commmandKeyBinding",function(e){return r(),this.commandKeyBinding=e})}else this.commmandKeyBinding=this.commandKeyBinding;this.addCommands(e)}var r=e("../lib/keys"),i=e("../lib/useragent");(function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e){var t=typeof e=="string"?e:e.name;e=this.commands[t],delete this.commands[t];var n=this.commandKeyBinding;for(var r in n)for(var i in n[r])n[r][i]==e&&delete n[r][i]},this.bindKey=function(e,t){if(!e)return;if(typeof t=="function"){this.addCommand({exec:t,bindKey:e,name:t.name||e});return}var n=this.commandKeyBinding;e.split("|").forEach(function(e){var r=this.parseKeys(e,t),i=r.hashId;(n[i]||(n[i]={}))[r.key]=t},this)},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){var t=e.bindKey;if(!t)return;var n=typeof t=="string"?t:t[this.platform];this.bindKey(n,e)},this.parseKeys=function(e){e.indexOf(" ")!=-1&&(e=e.split(/\s+/).pop());var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=this.commandKeyBinding;return r[t]&&r[t][n]},this.handleKeyboard=function(e,t,n,r){return{command:this.findKeyCommand(t,n)}}}).call(s.prototype),t.HashHandler=s}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").HashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var r={editor:t,command:e,args:n},i=this._emit("exec",r);return this._signal("afterExec",r),i===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o("Ctrl-Alt-0","Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",readOnly:!0},{name:"passKeysToBrowser",bindKey:o("null","null"),exec:function(){},passEvent:!0,readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o=n.lastRow||t.end.row<=n.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}e.scrollIntoView=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e){if(!e)this.keyBinding.setKeyboardHandler(null);else if(typeof e=="string"){this.$keybindingId=e;var t=this;g.loadModule(["keybinding",e],function(n){t.$keybindingId==e&&t.keyBinding.setKeyboardHandler(n&&n.handler)})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;var t=this.session;if(t){this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,e&&(this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()),this._signal("changeSession",{session:e,oldSession:t}),t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session.findMatchingBracket(e.getCursorPosition());if(t)var n=new p(t.row,t.column,t.row,t.column+1);else if(e.session.$mode.getMatching)var n=e.session.$mode.getMatching(e.session);n&&(e.session.$bracketHighlight=e.session.addMarker(n,"ace_bracket","text"))},50)},this.$highlightTags=function(){var e=this.session;if(this.$highlightTagPending)return;var t=this;this.$highlightTagPending=!0,setTimeout(function(){t.$highlightTagPending=!1;var n=t.getCursorPosition(),r=new y(t.session,n.row,n.column),i=r.getCurrentToken();if(!i||i.type.indexOf("tag-name")===-1){e.removeMarker(e.$tagHighlight),e.$tagHighlight=null;return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){if(this.$readOnly)return;var t={text:e};this._signal("paste",t),this.insert(t.text,!0)},this.execCommand=function(e,t){this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n=o)s[u].moveBy(i,0),u--}t.fromOrientedRange(t.ranges[0]),t.rangeList.attach(this.session)}},this.$getSelectedRows=function(){var e=this.getSelectionRange().collapseRows();return{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e){var t=this.getCursorPosition(),n=new y(this.session,t.row,t.column),r=n.getCurrentToken(),i=r;i||(i=n.stepForward());if(!i)return;var s,o=!1,u={},a=t.column-i.start,f,l={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(i.value.match(/[{}()\[\]]/g))for(;a=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this)},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&n.isFocused()){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",s),this.renderer.removeEventListener("afterRender",u),this.renderer.removeEventListener("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(t,e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0}}).call(r.prototype),t.UndoManager=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,s){var o=t.start.row,u=new r(o,t.start.column,o,this.session.getScreenLastRowColumn(o));this.drawSingleLineMarker(e,u,n+" ace_start",i,1,s),o=t.end.row,u=new r(o,0,o,t.end.column),this.drawSingleLineMarker(e,u,n,i,0,s);for(o=t.start.row+1;o"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
    "),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<0)return;u=this.$getTop(t.start.row+1,r),e.push("
    ")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
    ")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
    ")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
    ")}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2192",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+this.TAB_CHAR+s.stringRepeat("\u00a0",n-1)+""):t.push(s.stringRepeat("\u00a0",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=this.TAB_CHAR+s.stringRepeat("\u00a0",this.tabSize-1)}else var u=s.stringRepeat("\u00a0",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
    "),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
    "),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":s.stringRepeat("\u00a0",e.length);if(e=="&")return"&";if(e=="<")return"<";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("","
    "),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
    ")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px"}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e,t){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=1:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="-100px",e.visibility="hidden",e.position="fixed",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&this.$pollSizeChangesTimer},this.$measureSizes=function(){if(a===1)var e=this.$measureNode.getBoundingClientRect(),t={height:e.height,width:e.width};else var t={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return t.width===0||t.height===0?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font-family: \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;font-size: 12px;line-height: normal;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: text;min-width: 100%;}.ace_dragging, .ace_dragging * {cursor: move !important;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: #f8f8f8;color: #111;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0px;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-moz-transition: opacity 0.18s;-webkit-transition: opacity 0.18s;-o-transition: opacity 0.18s;-ms-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;-moz-border-radius: 2px;-webkit-border-radius: 2px;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;display: block;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-moz-transition: opacity 0.4s ease 0.05s;-webkit-transition: opacity 0.4s ease 0.05s;-o-transition: opacity 0.4s ease 0.05s;-ms-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-moz-transition: opacity 0.05s ease 0.05s;-webkit-transition: opacity 0.05s ease 0.05s;-o-transition: opacity 0.05s ease 0.05s;-ms-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}';i.importCssString(m,"ace_editor");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e;if(!e)return;this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$changedLines.lastRow2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0)},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.lineHeight;if(t<0||t>e.height-r)return;var i=this.characterWidth;if(this.$composition){var s=this.textarea.value.replace(/^\x01+/,"");i*=this.session.$getStringScreenWidth(s)[0]+2,r+=2,t-=1}n-=this.scrollLeft,n>this.$size.scrollerWidth-i&&(n=this.$size.scrollerWidth-i),n-=this.scrollBar.width,this.textarea.style.height=r+"px",this.textarea.style.width=i+"px",this.textarea.style.right=Math.max(0,this.$size.scrollerWidth-n-i)+"px",this.textarea.style.bottom=Math.max(0,this.$size.height-t-r)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL)e|=this.$computeLayerConfig(),n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px";e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e))+this.scrollMargin.v+(this.$extraHeight||0),r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n}},this.$computeLayerConfig=function(){this.$maxLines&&this.lineHeight>1&&this.$autosize();var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.scrollTop%this.lineHeight,o=t.scrollerHeight+this.lineHeight,u=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-u-2*this.$padding<0),f=this.$horizScroll!==a;f&&(this.$horizScroll=a,this.scrollBarH.setVisible(a)),!this.$maxLines&&this.$scrollPastEnd&&(i+=(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd);var l=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i<0),c=this.$vScroll!==l;c&&(this.$vScroll=l,this.scrollBarV.setVisible(l)),this.session.setScrollTop(Math.max(-this.scrollMargin.top,Math.min(this.scrollTop,i-t.scrollerHeight+this.scrollMargin.bottom))),this.session.setScrollLeft(Math.max(-this.scrollMargin.left,Math.min(this.scrollLeft,u+2*this.$padding-t.scrollerWidth+this.scrollMargin.right)));var h=Math.ceil(o/this.lineHeight)-1,p=Math.max(0,Math.round((this.scrollTop-s)/this.lineHeight)),d=p+h,v,m,g=this.lineHeight;p=e.screenToDocumentRow(p,0);var y=e.getFoldLine(p);y&&(p=y.start.row),v=e.documentToScreenRow(p,0),m=e.getRowLength(p)*g,d=Math.min(e.screenToDocumentRow(d,0),e.getLength()-1),o=t.scrollerHeight+e.getRowLength(d)*g+m,s=this.scrollTop-v*g;var b=0;this.layerConfig.width!=u&&(b=this.CHANGE_H_SCROLL);if(f||c)b=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),c&&(u=this.$getLongestLine());return this.layerConfig={width:u,padding:this.$padding,firstRow:p,firstRowScreen:v,lastRow:d,lineHeight:g,characterWidth:this.characterWidth,minHeight:o,maxHeight:i,offset:s,gutterOffset:Math.max(0,Math.ceil((s+t.height-t.scrollerHeight)/g)),height:this.$size.scrollerHeight},b},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.content.style.cursor!=e&&(this.content.style.cursor=e)},this.setMouseCursor=function(e){this.content.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"log":window.console&&console.log&&console.log.apply(console,t.data);break;case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id])}},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc.removeEventListener("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue?this.deltaQueue.push(e.data):(this.deltaQueue=[e.data],setTimeout(this.$sendDeltaQueue,0))},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>20&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&n.start.column<=this.pos.column+this.length+1){var s=n.start.column-this.pos.column;this.length+=i;if(!this.session.$fromUndo){if(t.action==="insertText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;e1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;rr.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,e);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle;if(t.needle==undefined){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;this.$blockScrolling+=1;var s=this.multiSelect;n||s.toSingleRange(i[0]);for(var o=i.length;o--;)s.addRange(i[o],!0);return r&&s.rangeList.rangeAtPoint(r.start)&&s.addRange(r,!0),this.$blockScrolling-=1,i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}},this.selectMore=function(e,t){var n=this.session,r=n.multiSelect,i=r.toOrientedRange();i.isEmpty()&&(i=n.getWordRange(i.start.row,i.start.column),i.cursor=e==-1?i.start:i.end,this.multiSelect.addRange(i));var s=n.getTextRange(i),o=h(n,s,e);o&&(o.cursor=e==-1?o.start:o.end,this.$blockScrolling+=1,this.session.unfold(o),this.multiSelect.addRange(o),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(i.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,s=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(!n.length||s.length==n.length-1){var o=this.selection.getRange(),u=o.start.row,f=o.end.row,l=u==f;if(l){var c=this.session.getLength(),h;do h=this.session.getLine(f);while(/[=:]/.test(h)&&++f0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.doc.removeLines(u,f);p=this.$reAlignText(p,l),this.session.doc.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t.multiSelect||(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange),this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.detach=this.detach.bind(this),this.session.on("change",this.updateOnChange)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&(e+=t.rowCount)}),e},this.attach=function(e){e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,this.editor.on("changeSession",this.detach),e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)},this.detach=function(e){if(e&&e.session==this.session)return;var t=this.editor;if(!t)return;t.off("changeSession",this.detach),this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.data,r=n.range,i=r.start.row,s=r.end.row-i;if(s!==0)if(n.action=="removeText"||n.action=="removeLines"){var o=t.splice(i+1,s);o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var u=new Array(s);u.unshift(i,0),t.splice.apply(t,u),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){e&&(t=!1,e.row=n)}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength())),this.session.lineWidgets[e.row]=e;var t=this.editor.renderer;return e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight||(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),e},this.removeLineWidget=function(e){e._inDocument=!1,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}this.session.lineWidgets&&(this.session.lineWidgets[e.row]=undefined),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length-1?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("ace/line_widgets").LineWidgets,i=e("ace/lib/dom"),s=e("ace/range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.lineWidgets&&n.lineWidgets[o];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div")},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
    "),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e.env&&e.env.editor instanceof s)return e.env.editor;var o=t.createEditSession(r.getInnerText(e));e.innerHTML="";var u=new s(new a(e));u.setSession(o);var f={document:o,editor:u,onResize:u.resize.bind(u,null)};return i.addListener(window,"resize",f.onResize),u.on("destroy",function(){i.removeListener(window,"resize",f.onResize)}),e.env=u.env=f,u},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u}); +(function(){function s(r){var i=function(e,t){return n("",e,t)},s=e;r&&(e[r]||(e[r]={}),s=e[r]);if(!s.define||!s.define.packaged)t.original=s.define,s.define=t,s.define.packaged=!0;if(!s.require||!s.require.packaged)n.original=s.require,s.require=i,s.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules||(t.modules={},t.payloads={}),t.payloads[e]=r,t.modules[e]=null},n=function(e,t,r){if(Object.prototype.toString.call(t)==="[object Array]"){var s=[];for(var o=0,u=t.length;o1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t,n){var o=s(t);if(!i.isMac&&u){if(u[91]||u[92])o|=8;if(u.altGr){if((3&o)==3)return;u.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)a=t.timeStamp;else if(n===18&&o===3&&f===2){var l=-a;a=t.timeStamp,l+=a,l<3&&(u.altGr=!0)}}}if(n in r.MODIFIER_KEYS){switch(r.MODIFIER_KEYS[n]){case"Alt":o=2;break;case"Shift":o=4;break;case"Ctrl":o=1;break;default:o=8}n=-1}o&8&&(n===91||n===93)&&(n=-1);if(!o&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,o,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&o&8){e(t,o,n);if(t.defaultPrevented)return;o&=-9}return!!o||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,o,n):!1}var r=e("./keys"),i=e("./useragent");t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[s(e)]};var u=null,a=0;t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var a=null;r(e,"keydown",function(e){u[e.keyCode]=!0;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){u[e.keyCode]=null}),u||(u=Object.create(null),r(window,"focus",function(e){u=Object.create(null)}))}};if(window.postMessage&&!i.isOldIE){var f=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+f;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
    "),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=n.$cells[t.session.documentToScreenRow(r,0)].element,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){(!document.hasFocus||!document.hasFocus())&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener(u,[400,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(r.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[400,300,250],this,"onMouseEvent"),r.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[400,300,250],this,"onMouseEvent"),i.isIE&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n))),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",function(t){return e.focus(),r.preventDefault(t)}),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e.isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n}}).call(r.prototype),t.TokenIterator=r}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;tthis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>61440){var n=this._insertLines(e,t.slice(0,61440));t=t.slice(61440),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.range,n=t.start.row,r=t.end.row-n;if(r===0)this.lines[n]=null;else if(e.action=="removeText"||e.action=="removeLines")this.lines.splice(n,r+1,null),this.states.splice(n,r+1,null);else{var i=Array(r+1);i.unshift(n,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(n,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowi)break;c.start.row==i&&c.start.column>=n.column&&(c.start.column!=n.column||!this.$insertRight)&&(c.start.column+=u,c.start.row+=o);if(c.end.row==i&&c.end.column>=n.column){if(c.end.column==n.column&&this.$insertRight)continue;c.end.column==n.column&&u>0&&fc.start.column&&c.end.column==a[f+1].start.column&&(c.end.column-=u),c.end.column+=u,c.end.row+=o}}if(o!=0&&f=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._emit("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,o.end.row,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i===0)this.foldWidgets[r]=null;else if(t.action=="removeText"||t.action=="removeLines")this.foldWidgets.splice(r,i+1,null);else{var s=Array(i+1);s.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,s)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end|start|begin)\b/,"")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:end|start|begin)\b/,"")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.insert({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeLines(e,t);return this.doc.insertLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n,r=e.data.action,i=e.data.range.start.row,s=e.data.range.end.row,o=e.data.range.start,u=e.data.range.end,a=null;r.indexOf("Lines")!=-1?(r=="insertLines"?s=i+e.data.lines.length:s=i,n=e.data.lines?e.data.lines.length:s-i):n=s-i,this.$updating=!0;if(n!=0)if(r.indexOf("remove")!=-1){this[t?"$wrapData":"$rowLengthCache"].splice(i,n);var f=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var l=this.getFoldLine(u.row),c=0;if(l){l.addRemoveChars(u.row,u.column,o.column-u.column),l.shiftRow(-n);var h=this.getFoldLine(i);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=u.row&&l.shiftRow(-n)}s=i}else{var p=Array(n);p.unshift(i,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(i),c=0;if(l){var v=l.range.compareInside(o.row,o.column);v==0?(l=l.split(o.row,o.column),l&&(l.shiftRow(n),l.addRemoveChars(s,0,u.column-o.column))):v==-1&&(l.addRemoveChars(i,0,u.column-o.column),l.shiftRow(n)),c=f.indexOf(l)+1}for(c;c=i&&l.shiftRow(n)}}else{n=Math.abs(e.data.range.start.column-e.data.range.end.column),r.indexOf("remove")!=-1&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),n=-n);var l=this.getFoldLine(i);l&&l.addRemoveChars(i,o.column,n)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;fr){var h=o+r;if(e[h-1]>=p&&e[h]>=p){c(h);continue}if(e[h]==n||e[h]==u){for(h;h!=o-1;h--)if(e[h]==n)break;if(h>o){c(h);continue}h=o+r;for(h;h>2)),o-1);while(h>d&&e[h]d&&e[h]d&&e[h]==l)h--}else while(h>d&&e[h]d){c(++h);continue}h=o+r,e[h]==t&&h--,c(h)}return i},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}if(this.$useWrapMode){var v=this.$wrapData[r];if(v){var m=Math.floor(e-o);s=v[m],m>0&&v.length&&(i=v[m-1]||v[v.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);if(this.$useWrapMode){var v=this.$wrapData[i];if(v){var m=0;while(d.length>=v[m])r++,m++;d=d.substring(v[m-1]||0,d.length)}}return{row:r,column:this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}this.$wrap=e},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&(e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(e,t,n){var r=this.commandKeyBinding,i;t?!r[e]||this.$singleCommand?r[e]=t:(Array.isArray(r[e])?(i=r[e].indexOf(t))!=-1&&r[e].splice(i,1):r[e]=[r[e]],n||t.isDefault?r[e].unshift(t):r[e].push(t)):delete r[e]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};return e.$keyChain&&r>0&&(e.$keyChain=""),{command:o}}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o("Ctrl-Alt-0","Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o("null","null"),exec:function(){},passEvent:!0,readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o=r.lastRow||n.end.row<=r.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}t.scrollIntoView=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;var t=this.session;if(t){this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}i.type.indexOf("tag-open")!=-1&&(i=r.stepForward());var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){if(this.$readOnly)return;var t={text:e};this._signal("paste",t),e=t.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(e);else{var n=e.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,e);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}this.renderer.scrollCursorIntoView()},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&np+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",s),this.renderer.removeEventListener("afterRender",u),this.renderer.removeEventListener("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),ace.define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(t,e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0}}).call(r.prototype),t.UndoManager=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,s){var o=t.start.row,u=new r(o,t.start.column,o,this.session.getScreenLastRowColumn(o));this.drawSingleLineMarker(e,u,n+" ace_start",i,1,s),o=t.end.row,u=new r(o,0,o,t.end.column),this.drawSingleLineMarker(e,u,n,i,0,s);for(o=t.start.row+1;o"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
    "),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<0)return;u=this.$getTop(t.start.row+1,r),e.push("
    ")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
    ")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
    ")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
    ")}}).call(s.prototype),t.Marker=s}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2192",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+this.TAB_CHAR+s.stringRepeat("\u00a0",n-1)+""):t.push(s.stringRepeat("\u00a0",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=this.TAB_CHAR+s.stringRepeat("\u00a0",this.tabSize-1)}else var u=s.stringRepeat("\u00a0",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
    "),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
    "),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":s.stringRepeat("\u00a0",e.length);if(e=="&")return"&";if(e=="<")return"<";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("","
    "),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
    ")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e,t){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&this.$pollSizeChangesTimer},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}';i.importCssString(m,"ace_editor");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e))+this.scrollMargin.v+(this.$extraHeight||0),r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){this.$maxLines&&this.lineHeight>1&&this.$autosize();var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.scrollTop%this.lineHeight,o=t.scrollerHeight+this.lineHeight,u=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-u-2*this.$padding<0),f=this.$horizScroll!==a;f&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l,this.session.setScrollTop(Math.max(-this.scrollMargin.top,Math.min(this.scrollTop,i-t.scrollerHeight+this.scrollMargin.bottom))),this.session.setScrollLeft(Math.max(-this.scrollMargin.left,Math.min(this.scrollLeft,u+2*this.$padding-t.scrollerWidth+this.scrollMargin.right)));var c=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop),h=this.$vScroll!==c;h&&(this.$vScroll=c,this.scrollBarV.setVisible(c));var p=Math.ceil(o/this.lineHeight)-1,d=Math.max(0,Math.round((this.scrollTop-s)/this.lineHeight)),v=d+p,m,g,y=this.lineHeight;d=e.screenToDocumentRow(d,0);var b=e.getFoldLine(d);b&&(d=b.start.row),m=e.documentToScreenRow(d,0),g=e.getRowLength(d)*y,v=Math.min(e.screenToDocumentRow(v,0),e.getLength()-1),o=t.scrollerHeight+e.getRowLength(v)*y+g,s=this.scrollTop-m*y;var w=0;this.layerConfig.width!=u&&(w=this.CHANGE_H_SCROLL);if(f||h)w=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),h&&(u=this.$getLongestLine());return this.layerConfig={width:u,padding:this.$padding,firstRow:d,firstRowScreen:m,lastRow:v,lineHeight:y,characterWidth:this.characterWidth,minHeight:o,maxHeight:i,offset:s,gutterOffset:Math.max(0,Math.ceil((s+t.height-t.scrollerHeight)/y)),height:this.$size.scrollerHeight},w},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue?this.deltaQueue.push(e.data):(this.deltaQueue=[e.data],setTimeout(this.$sendDeltaQueue,0))},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>20&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&n.start.column<=this.pos.column+this.length+1){var s=n.start.column-this.pos.column;this.length+=i;if(!this.session.$fromUndo){if(t.action==="insertText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;e1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.doc.removeLines(u,f);p=this.$reAlignText(p,l),this.session.doc.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.data,r=n.range,i=r.start.row,s=r.end.row-i;if(s!==0)if(n.action=="removeText"||n.action=="removeLines"){var o=t.splice(i+1,s);o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var u=new Array(s);u.unshift(i,0),t.splice.apply(t,u),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){e&&(t=!1,e.row=n)}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength())),this.session.lineWidgets[e.row]=e;var t=this.editor.renderer;return e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight||(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),e},this.removeLineWidget=function(e){e._inDocument=!1,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}this.session.lineWidgets&&(this.session.lineWidgets[e.row]=undefined),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length-1?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.lineWidgets&&n.lineWidgets[o];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div")},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
    "),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else o=r.getInnerText(e),e.innerHTML="";var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u}); (function() { ace.require(["ace/ace"], function(a) { a && a.config.init(true); diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-emmet.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-emmet.js new file mode 100644 index 00000000..ded0318b --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-emmet.js @@ -0,0 +1,5 @@ +ace.define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./lib/lang"),o=e("./range").Range,u=e("./anchor").Anchor,a=e("./keyboard/hash_handler").HashHandler,f=e("./tokenizer").Tokenizer,l=o.comparePoints,c=function(){this.snippetMap={},this.snippetNameMap={}};(function(){r.implement(this,i),this.getTokenizer=function(){function e(e,t,n){return e=e.substr(1),/^\d+$/.test(e)&&!n.inFormatString?[{tabstopId:parseInt(e,10)}]:[{text:e}]}function t(e){return"(?:[^\\\\"+e+"]|\\\\.)"}return c.$tokenizer=new f({start:[{regex:/:/,onMatch:function(e,t,n){return n.length&&n[0].expectIf?(n[0].expectIf=!1,n[0].elseBranch=n[0],[n[0]]):":"}},{regex:/\\./,onMatch:function(e,t,n){var r=e[1];return r=="}"&&n.length?e=r:"`$\\".indexOf(r)!=-1?e=r:n.inFormatString&&(r=="n"?e="\n":r=="t"?e="\n":"ulULE".indexOf(r)!=-1&&(e={changeCase:r,local:r>"a"})),[e]}},{regex:/}/,onMatch:function(e,t,n){return[n.length?n.shift():e]}},{regex:/\$(?:\d+|\w+)/,onMatch:e},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(t,n,r){var i=e(t.substr(1),n,r);return r.unshift(i[0]),i},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+t("\\|")+"*\\|",onMatch:function(e,t,n){n[0].choices=e.slice(1,-1).split(",")},next:"start"},{regex:"/("+t("/")+"+)/(?:("+t("/")+"*)/)(\\w*):?",onMatch:function(e,t,n){var r=n[0];return r.fmtString=e,e=this.splitRegex.exec(e),r.guard=e[1],r.fmt=e[2],r.flag=e[3],""},next:"start"},{regex:"`"+t("`")+"*`",onMatch:function(e,t,n){return n[0].code=e.splice(1,-1),""},next:"start"},{regex:"\\?",onMatch:function(e,t,n){n[0]&&(n[0].expectIf=!0)},next:"start"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:"/("+t("/")+"+)/",token:"regex"},{regex:"",onMatch:function(e,t,n){n.inFormatString=!0},next:"start"}]}),c.prototype.getTokenizer=function(){return c.$tokenizer},c.$tokenizer},this.tokenizeTmSnippet=function(e,t){return this.getTokenizer().getLineTokens(e,t).tokens.map(function(e){return e.value||e})},this.$getDefaultValue=function(e,t){if(/^[A-Z]\d+$/.test(t)){var n=t.substr(1);return(this.variables[t[0]+"__"]||{})[n]}if(/^\d+$/.test(t))return(this.variables.__||{})[t];t=t.replace(/^TM_/,"");if(!e)return;var r=e.session;switch(t){case"CURRENT_WORD":var i=r.getWordRange();case"SELECTION":case"SELECTED_TEXT":return r.getTextRange(i);case"CURRENT_LINE":return r.getLine(e.getCursorPosition().row);case"PREV_LINE":return r.getLine(e.getCursorPosition().row-1);case"LINE_INDEX":return e.getCursorPosition().column;case"LINE_NUMBER":return e.getCursorPosition().row+1;case"SOFT_TABS":return r.getUseSoftTabs()?"YES":"NO";case"TAB_SIZE":return r.getTabSize();case"FILENAME":case"FILEPATH":return"";case"FULLNAME":return"Ace"}},this.variables={},this.getVariableValue=function(e,t){return this.variables.hasOwnProperty(t)?this.variables[t](e,t)||"":this.$getDefaultValue(e,t)||""},this.tmStrFormat=function(e,t,n){var r=t.flag||"",i=t.guard;i=new RegExp(i,r.replace(/[^gi]/,""));var s=this.tokenizeTmSnippet(t.fmt,"formatString"),o=this,u=e.replace(i,function(){o.variables.__=arguments;var e=o.resolveVariables(s,n),t="E";for(var r=0;r=0&&s.splice(o,1)}}var n=this.snippetMap,r=this.snippetNameMap;e.content?i(e):Array.isArray(e)&&e.forEach(i)},this.parseSnippetFile=function(e){e=e.replace(/\r/g,"");var t=[],n={},r=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,i;while(i=r.exec(e)){if(i[1])try{n=JSON.parse(i[1]),t.push(n)}catch(s){}if(i[4])n.content=i[4].replace(/^\t/gm,""),t.push(n),n={};else{var o=i[2],u=i[3];if(o=="regex"){var a=/\/((?:[^\/\\]|\\.)*)|$/g;n.guard=a.exec(u)[1],n.trigger=a.exec(u)[1],n.endTrigger=a.exec(u)[1],n.endGuard=a.exec(u)[1]}else o=="snippet"?(n.tabTrigger=u.match(/^\S*/)[0],n.name||(n.name=u)):n[o]=u}}return t},this.getSnippetByName=function(e,t){var n=this.snippetNameMap,r;return this.getActiveScopes(t).some(function(t){var i=n[t];return i&&(r=i[e]),!!r},this),r}}).call(c.prototype);var h=function(e){if(e.tabstopManager)return e.tabstopManager;e.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=s.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(e)};(function(){this.attach=function(e){this.index=0,this.ranges=[],this.tabstops=[],this.$openTabstops=null,this.selectedTabstop=null,this.editor=e,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges=null,this.tabstops=null,this.selectedTabstop=null,this.editor.removeListener("change",this.$onChange),this.editor.removeListener("changeSelection",this.$onChangeSelection),this.editor.removeListener("changeSession",this.$onChangeSession),this.editor.commands.removeListener("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.editor=null},this.onChange=function(e){var t=e.data.range,n=e.data.action[0]=="r",r=t.start,i=t.end,s=r.row,o=i.row,u=o-s,a=i.column-r.column;n&&(u=-u,a=-a);if(!this.$inChange&&n){var f=this.selectedTabstop,c=f&&!f.some(function(e){return l(e.start,r)<=0&&l(e.end,i)>=0});if(c)return this.detach()}var h=this.ranges;for(var p=0;p0){this.removeRange(d),p--;continue}d.start.row==s&&d.start.column>r.column&&(d.start.column+=a),d.end.row==s&&d.end.column>=r.column&&(d.end.column+=a),d.start.row>=s&&(d.start.row+=u),d.end.row>=s&&(d.end.row+=u),l(d.start,d.end)>0&&this.removeRange(d)}h.length||this.detach()},this.updateLinkedFields=function(){var e=this.selectedTabstop;if(!e||!e.hasLinkedRanges)return;this.$inChange=!0;var n=this.editor.session,r=n.getTextRange(e.firstNonLinked);for(var i=e.length;i--;){var s=e[i];if(!s.linked)continue;var o=t.snippetManager.tmStrFormat(r,s.original);n.replace(s,o)}this.$inChange=!1},this.onAfterExec=function(e){e.command&&!e.command.readOnly&&this.updateLinkedFields()},this.onChangeSelection=function(){if(!this.editor)return;var e=this.editor.selection.lead,t=this.editor.selection.anchor,n=this.editor.selection.isEmpty();for(var r=this.ranges.length;r--;){if(this.ranges[r].linked)continue;var i=this.ranges[r].contains(e.row,e.column),s=n||this.ranges[r].contains(t.row,t.column);if(i&&s)return}this.detach()},this.onChangeSession=function(){this.detach()},this.tabNext=function(e){var t=this.tabstops.length,n=this.index+(e||1);n=Math.min(Math.max(n,1),t),n==t&&(n=0),this.selectTabstop(n),n===0&&this.detach()},this.selectTabstop=function(e){this.$openTabstops=null;var t=this.tabstops[this.index];t&&this.addTabstopMarkers(t),this.index=e,t=this.tabstops[this.index];if(!t||!t.length)return;this.selectedTabstop=t;if(!this.editor.inVirtualSelectionMode){var n=this.editor.multiSelect;n.toSingleRange(t.firstNonLinked.clone());for(var r=t.length;r--;){if(t.hasLinkedRanges&&t[r].linked)continue;n.addRange(t[r].clone(),!0)}n.ranges[0]&&n.addRange(n.ranges[0].clone())}else this.editor.selection.setRange(t.firstNonLinked);this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},this.addTabstops=function(e,t,n){this.$openTabstops||(this.$openTabstops=[]);if(!e[0]){var r=o.fromPoints(n,n);v(r.start,t),v(r.end,t),e[0]=[r],e[0].index=0}var i=this.index,s=[i+1,0],u=this.ranges;e.forEach(function(e,n){var r=this.$openTabstops[n]||e;for(var i=e.length;i--;){var a=e[i],f=o.fromPoints(a.start,a.end||a.start);d(f.start,t),d(f.end,t),f.original=a,f.tabstop=r,u.push(f),r!=e?r.unshift(f):r[i]=f,a.fmtString?(f.linked=!0,r.hasLinkedRanges=!0):r.firstNonLinked||(r.firstNonLinked=f)}r.firstNonLinked||(r.hasLinkedRanges=!1),r===e&&(s.push(r),this.$openTabstops[n]=r),this.addTabstopMarkers(r)},this),s.length>2&&(this.tabstops.length&&s.push(s.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,s))},this.addTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){e.markerId||(e.markerId=t.addMarker(e,"ace_snippet-marker","text"))})},this.removeTabstopMarkers=function(e){var t=this.editor.session;e.forEach(function(e){t.removeMarker(e.markerId),e.markerId=null})},this.removeRange=function(e){var t=e.tabstop.indexOf(e);e.tabstop.splice(t,1),t=this.ranges.indexOf(e),this.ranges.splice(t,1),this.editor.session.removeMarker(e.markerId),e.tabstop.length||(t=this.tabstops.indexOf(e.tabstop),t!=-1&&this.tabstops.splice(t,1),this.tabstops.length||this.detach())},this.keyboardHandler=new a,this.keyboardHandler.bindKeys({Tab:function(e){if(t.snippetManager&&t.snippetManager.expandWithTab(e))return;e.tabstopManager.tabNext(1)},"Shift-Tab":function(e){e.tabstopManager.tabNext(-1)},Esc:function(e){e.tabstopManager.detach()},Return:function(e){return!1}})}).call(h.prototype);var p={};p.onChange=u.prototype.onChange,p.setPosition=function(e,t){this.pos.row=e,this.pos.column=t},p.update=function(e,t,n){this.$insertRight=n,this.pos=e,this.onChange(t)};var d=function(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row},v=function(e,t){e.row==t.row&&(e.column-=t.column),e.row-=t.row};e("./lib/dom").importCssString(".ace_snippet-marker { -moz-box-sizing: border-box; box-sizing: border-box; background: rgba(194, 193, 208, 0.09); border: 1px dotted rgba(211, 208, 235, 0.62); position: absolute;}"),t.snippetManager=new c;var m=e("./editor").Editor;(function(){this.insertSnippet=function(e,n){return t.snippetManager.insertSnippet(this,e,n)},this.expandSnippet=function(e){return t.snippetManager.expandWithTab(this,e)}}).call(m.prototype)}),ace.define("ace/ext/emmet",["require","exports","module","ace/keyboard/hash_handler","ace/editor","ace/snippets","ace/range","resources","resources","range","tabStops","resources","utils","actions","ace/config","ace/config"],function(e,t,n){"use strict";function f(){}var r=e("ace/keyboard/hash_handler").HashHandler,i=e("ace/editor").Editor,s=e("ace/snippets").snippetManager,o=e("ace/range").Range,u,a;f.prototype={setupContext:function(e){this.ace=e,this.indentation=e.session.getTabString(),u||(u=window.emmet),u.require("resources").setVariable("indentation",this.indentation),this.$syntax=null,this.$syntax=this.getSyntax()},getSelectionRange:function(){var e=this.ace.getSelectionRange(),t=this.ace.session.doc;return{start:t.positionToIndex(e.start),end:t.positionToIndex(e.end)}},createSelection:function(e,t){var n=this.ace.session.doc;this.ace.selection.setRange({start:n.indexToPosition(e),end:n.indexToPosition(t)})},getCurrentLineRange:function(){var e=this.ace,t=e.getCursorPosition().row,n=e.session.getLine(t).length,r=e.session.doc.positionToIndex({row:t,column:0});return{start:r,end:r+n}},getCaretPos:function(){var e=this.ace.getCursorPosition();return this.ace.session.doc.positionToIndex(e)},setCaretPos:function(e){var t=this.ace.session.doc.indexToPosition(e);this.ace.selection.moveToPosition(t)},getCurrentLine:function(){var e=this.ace.getCursorPosition().row;return this.ace.session.getLine(e)},replaceContent:function(e,t,n,r){n==null&&(n=t==null?this.getContent().length:t),t==null&&(t=0);var i=this.ace,u=i.session.doc,a=o.fromPoints(u.indexToPosition(t),u.indexToPosition(n));i.session.remove(a),a.end=a.start,e=this.$updateTabstops(e),s.insertSnippet(i,e)},getContent:function(){return this.ace.getValue()},getSyntax:function(){if(this.$syntax)return this.$syntax;var e=this.ace.session.$modeId.split("/").pop();if(e=="html"||e=="php"){var t=this.ace.getCursorPosition(),n=this.ace.session.getState(t.row);typeof n!="string"&&(n=n[0]),n&&(n=n.split("-"),n.length>1?e=n[0]:e=="php"&&(e="html"))}return e},getProfileName:function(){switch(this.getSyntax()){case"css":return"css";case"xml":case"xsl":return"xml";case"html":var e=u.require("resources").getVariable("profile");return e||(e=this.ace.session.getLines(0,2).join("").search(/]+XHTML/i)!=-1?"xhtml":"html"),e}return"xhtml"},prompt:function(e){return prompt(e)},getSelection:function(){return this.ace.session.getTextRange()},getFilePath:function(){return""},$updateTabstops:function(e){var t=1e3,n=0,r=null,i=u.require("range"),s=u.require("tabStops"),o=u.require("resources").getVocabulary("user"),a={tabstop:function(e){var o=parseInt(e.group,10),u=o===0;u?o=++n:o+=t;var f=e.placeholder;f&&(f=s.processText(f,a));var l="${"+o+(f?":"+f:"")+"}";return u&&(r=i.create(e.start,l)),l},escape:function(e){return e=="$"?"\\$":e=="\\"?"\\\\":e}};return e=s.processText(e,a),o.variables.insert_final_tabstop&&!/\$\{0\}$/.test(e)?e+="${0}":r&&(e=u.require("utils").replaceSubstring(e,"${0}",r)),e}};var l={expand_abbreviation:{mac:"ctrl+alt+e",win:"alt+e"},match_pair_outward:{mac:"ctrl+d",win:"ctrl+,"},match_pair_inward:{mac:"ctrl+j",win:"ctrl+shift+0"},matching_pair:{mac:"ctrl+alt+j",win:"alt+j"},next_edit_point:"alt+right",prev_edit_point:"alt+left",toggle_comment:{mac:"command+/",win:"ctrl+/"},split_join_tag:{mac:"shift+command+'",win:"shift+ctrl+`"},remove_tag:{mac:"command+'",win:"shift+ctrl+;"},evaluate_math_expression:{mac:"shift+command+y",win:"shift+ctrl+y"},increment_number_by_1:"ctrl+up",decrement_number_by_1:"ctrl+down",increment_number_by_01:"alt+up",decrement_number_by_01:"alt+down",increment_number_by_10:{mac:"alt+command+up",win:"shift+alt+up"},decrement_number_by_10:{mac:"alt+command+down",win:"shift+alt+down"},select_next_item:{mac:"shift+command+.",win:"shift+ctrl+."},select_previous_item:{mac:"shift+command+,",win:"shift+ctrl+,"},reflect_css_value:{mac:"shift+command+r",win:"shift+ctrl+r"},encode_decode_data_url:{mac:"shift+ctrl+d",win:"ctrl+'"},expand_abbreviation_with_tab:"Tab",wrap_with_abbreviation:{mac:"shift+ctrl+a",win:"shift+ctrl+a"}},c=new f;t.commands=new r,t.runEmmetCommand=function(e){try{c.setupContext(e);if(c.getSyntax()=="php")return!1;var t=u.require("actions");if(this.action=="expand_abbreviation_with_tab"&&!e.selection.isEmpty())return!1;if(this.action=="wrap_with_abbreviation")return setTimeout(function(){t.run("wrap_with_abbreviation",c)},0);var n=e.selection.lead,r=e.session.getTokenAt(n.row,n.column);if(r&&/\btag\b/.test(r.type))return!1;var i=t.run(this.action,c)}catch(s){e._signal("changeStatus",typeof s=="string"?s:s.message),console.log(s),i=!1}return i};for(var h in l)t.commands.addCommand({name:"emmet:"+h,action:h,bindKey:l[h],exec:t.runEmmetCommand,multiSelectAction:"forEach"});t.updateCommands=function(e,n){n?e.keyBinding.addKeyboardHandler(t.commands):e.keyBinding.removeKeyboardHandler(t.commands)},t.isSupportedMode=function(e){return e&&/css|less|scss|sass|stylus|html|php|twig|ejs/.test(e)};var p=function(n,r){var i=r;if(!i)return;var s=t.isSupportedMode(i.session.$modeId);n.enableEmmet===!1&&(s=!1),s&&typeof a=="string"&&e("ace/config").loadModule(a,function(){a=null}),t.updateCommands(i,s)};t.AceEmmetEditor=f,e("ace/config").defineOptions(i.prototype,"editor",{enableEmmet:{set:function(e){this[e?"on":"removeListener"]("changeMode",p),p({enableEmmet:!!e},this)},value:!0}}),t.setCore=function(e){typeof e=="string"?a=e:u=e}}); + (function() { + ace.require(["ace/ext/emmet"], function() {}); + })(); + \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-searchbox.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-searchbox.js new file mode 100644 index 00000000..964646ba --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-searchbox.js @@ -0,0 +1,5 @@ +ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o=".ace_search {background-color: #ddd;border: 1px solid #cbcbcb;border-top: 0 none;max-width: 325px;overflow: hidden;margin: 0;padding: 4px;padding-right: 6px;padding-bottom: 0;position: absolute;top: 0px;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {border-radius: 3px;border: 1px solid #cbcbcb;float: left;margin-bottom: 4px;overflow: hidden;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {background-color: white;border-right: 1px solid #cbcbcb;border: 0 none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;float: left;height: 22px;outline: 0;padding: 0 7px;width: 214px;margin: 0;}.ace_searchbtn,.ace_replacebtn {background: #fff;border: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;float: left;height: 22px;margin: 0;padding: 0;position: relative;}.ace_searchbtn:last-child,.ace_replacebtn:last-child {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn {background-position: 50% 50%;background-repeat: no-repeat;width: 27px;}.ace_searchbtn.prev {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); }.ace_searchbtn.next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); }.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;float: right;font: 16px/16px Arial;height: 14px;margin: 5px 1px 9px 5px;padding: 0;text-align: center;width: 14px;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_replacebtn.prev {width: 54px}.ace_replacebtn.next {width: 27px}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;-moz-box-sizing: border-box;box-sizing: border-box;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;}",u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys");r.importCssString(o,"ace_searchbox");var f=''.replace(/>\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f|Ctrl-H|Command-Option-F":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e[t?"replaceInput":"searchInput"].focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t){var n=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),i=!n&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",i),this.editor._emit("findSearchBox",{match:!i}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),t=!e&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",t),this.editor._emit("findSearchBox",{match:!t}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}}); + (function() { + ace.require(["ace/ext/searchbox"], function() {}); + })(); + \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-css.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-css.js index 7004bf60..cb54989a 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-css.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-css.js @@ -1 +1 @@ -ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(l.prototype),t.Mode=l}) \ No newline at end of file +ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(l.prototype),t.Mode=l}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-html.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-html.js index 9c15f36e..7b9e89a6 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-html.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-html.js @@ -1 +1 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(e,t,n){"use strict";function o(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,u=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var u=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:u+a+u,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==u&&(o(p,"attribute-value")||o(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(o(p,"tag-whitespace")||o(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(o(p,"attribute-equals")&&(d||c==">")||o(p,"decl-attribute-equals")&&(d||c=="?"))return{text:u+u,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var u=n.getCursorPosition(),a=new s(r,u.row,u.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(o(f,"tag-name")||o(f,"tag-whitespace")||o(f,"attribute-name")||o(f,"attribute-equals")||o(f,"attribute-value")))return;if(o(f,"reference.attribute-value"))return;if(o(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>u.column||h==u.column&&l!=c)return}}while(!o(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(o(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==u.row&&(v=v.substring(0,u.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=r.mixin(e||{},t||{})};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements.hasOwnProperty(t.tagName))return;if(this.voidElements.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open")?this.getTagCompletions(e,t,n,r):f(i,"tag-whitespace")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}) \ No newline at end of file +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",s="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+r+")(\\.)(prototype)(\\.)("+r+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+r+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:r},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:r},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],comment:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],line_comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],line_comment:[i.getTagRule(),{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!e||!e.noES6)&&this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:s},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open")?this.getTagCompletions(e,t,n,r):f(i,"tag-whitespace")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-javascript.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-javascript.js index 30dcda85..4696564e 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-javascript.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-javascript.js @@ -1 +1 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}) \ No newline at end of file +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",s="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+r+")(\\.)(prototype)(\\.)("+r+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+r+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:r},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:r},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],comment:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],line_comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],line_comment:[i.getTagRule(),{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!e||!e.noES6)&&this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:s},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-json.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-json.js index 84eda38c..e9e8e939 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-json.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-json.js @@ -1 +1 @@ -ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations([t.data])}),t.on("ok",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(l.prototype),t.Mode=l}) \ No newline at end of file +ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};r.inherits(s,i),t.JsonHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./json_highlight_rules").JsonHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=e("../worker/worker_client").WorkerClient,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(l,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(e=="start"){var i=t.match(/^.*[\{\(\[]\s*$/);i&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/json_worker","JsonWorker");return t.attachToDocument(e.getDocument()),t.on("error",function(t){e.setAnnotations([t.data])}),t.on("ok",function(){e.clearAnnotations()}),t},this.$id="ace/mode/json"}.call(l.prototype),t.Mode=l}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-less.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-less.js index 62029488..c92ac8d5 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-less.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-less.js @@ -1 +1 @@ -ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]}};r.inherits(o,s),t.LessHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/less",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/less_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./less_highlight_rules").LessHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/less"}.call(f.prototype),t.Mode=f}) \ No newline at end of file +ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]}};r.inherits(o,s),t.LessHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/less",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/less_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./less_highlight_rules").LessHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/less"}.call(f.prototype),t.Mode=f}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-markdown.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-markdown.js index b314dc2e..44d4f824 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-markdown.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-markdown.js @@ -1 +1 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(e,t,n){"use strict";function o(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,u=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var u=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:u+a+u,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==u&&(o(p,"attribute-value")||o(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(o(p,"tag-whitespace")||o(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(o(p,"attribute-equals")&&(d||c==">")||o(p,"decl-attribute-equals")&&(d||c=="?"))return{text:u+u,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var u=n.getCursorPosition(),a=new s(r,u.row,u.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(o(f,"tag-name")||o(f,"tag-whitespace")||o(f,"attribute-name")||o(f,"attribute-equals")||o(f,"attribute-value")))return;if(o(f,"reference.attribute-value"))return;if(o(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>u.column||h==u.column&&l!=c)return}}while(!o(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(o(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==u.row&&(v=v.substring(0,u.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=r.mixin(e||{},t||{})};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements.hasOwnProperty(t.tagName))return;if(this.voidElements.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,s),function(){this.voidElements=i.arrayToMap([]),this.blockComment={start:""},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open")?this.getTagCompletions(e,t,n,r):f(i,"tag-whitespace")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";function c(e,t){return{token:"support.function",regex:"^\\s*```"+e+"\\s*$",push:t+"start"}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./css_highlight_rules").CssHighlightRules,l=function(e){return"(?:[^"+i.escapeRegExp(e)+"\\\\]|\\\\.)*"},h=function(){a.call(this),this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s*[^ #]|\s+#.)/,next:"header"},c("(?:javascript|js)","jscode-"),c("xml","xmlcode-"),c("html","htmlcode-"),c("css","csscode-"),{token:"support.function",regex:"^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$",next:"githubblock"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+l("]")+")(\\]s*\\[)("+l("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\[)("+l("]")+")(\\]\\()"+'((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)'+'(\\s*"'+l('"')+'"\\s*)?'+"(\\))"},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},{token:"support.function",regex:"^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",next:"githubblock"},{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:[{token:"support.function",regex:"^\\s*```",next:"start"},{token:"support.function",regex:".+"}]}),this.embedRules(o,"jscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(a,"htmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(f,"csscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(u,"xmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.normalizeRules()};r.inherits(h,s),t.MarkdownHighlightRules=h}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?r[0]=="`"?e.bgTokenizer.getState(n)=="start"?"end":"start":"start":""},this.getFoldWidgetRange=function(e,t,n){function l(t){return f=e.getTokens(t)[0],f&&f.type.lastIndexOf(c,0)===0}function h(){var e=f.value[0];return e=="="?6:e=="-"?5:7-f.value.search(/[^#]/)}var r=e.getLine(n),i=r.length,o=e.getLength(),u=n,a=n;if(!r.match(this.foldingStartMarker))return;if(r[0]=="`"){if(e.bgTokenizer.getState(n)!=="start"){while(++n0){r=e.getLine(n);if(r[0]=="`"&r.substring(0,3)=="```")break}return new s(n,r.length,u,0)}var f,c="markup.heading";if(l(n)){var p=h();while(++n=p)break}a=n-(!f||["=","-"].indexOf(f.value[0])==-1?1:2);if(a>u)while(a>u&&/^\s*$/.test(e.getLine(a)))a--;if(a>u){var v=e.getLine(a).length;return new s(u,i,a,v)}}}}.call(o.prototype)}),ace.define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/xml","ace/mode/html","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./xml").Mode,u=e("./html").Mode,a=e("./markdown_highlight_rules").MarkdownHighlightRules,f=e("./folding/markdown").FoldMode,l=function(){this.HighlightRules=a,this.createModeDelegates({"js-":s,"xml-":o,"html-":u}),this.foldingRules=new f};r.inherits(l,i),function(){this.type="text",this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){if(e=="listblock"){var r=/^(\s*)(?:([-+*])|(\d+)\.)(\s+)/.exec(t);if(!r)return"";var i=r[2];return i||(i=parseInt(r[3],10)+1+"."),r[1]+i+r[4]}return this.$getIndent(t)},this.$id="ace/mode/markdown"}.call(l.prototype),t.Mode=l}) \ No newline at end of file +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",s="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+r+")(\\.)(prototype)(\\.)("+r+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+r+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:r},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:r},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],comment:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],line_comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],line_comment:[i.getTagRule(),{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!e||!e.noES6)&&this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:s},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,s),function(){this.voidElements=i.arrayToMap([]),this.blockComment={start:""},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open")?this.getTagCompletions(e,t,n,r):f(i,"tag-whitespace")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";function c(e,t){return{token:"support.function",regex:"^\\s*```"+e+"\\s*$",push:t+"start"}}var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./css_highlight_rules").CssHighlightRules,l=function(e){return"(?:[^"+i.escapeRegExp(e)+"\\\\]|\\\\.)*"},h=function(){a.call(this),this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s*[^ #]|\s+#.)/,next:"header"},c("(?:javascript|js)","jscode-"),c("xml","xmlcode-"),c("html","htmlcode-"),c("css","csscode-"),{token:"support.function",regex:"^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$",next:"githubblock"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+l("]")+")(\\]s*\\[)("+l("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\[)("+l("]")+")(\\]\\()"+'((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)'+'(\\s*"'+l('"')+'"\\s*)?'+"(\\))"},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},{token:"support.function",regex:"^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",next:"githubblock"},{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:[{token:"support.function",regex:"^\\s*```",next:"start"},{token:"support.function",regex:".+"}]}),this.embedRules(o,"jscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(a,"htmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(f,"csscode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.embedRules(u,"xmlcode-",[{token:"support.function",regex:"^\\s*```",next:"pop"}]),this.normalizeRules()};r.inherits(h,s),t.MarkdownHighlightRules=h}),ace.define("ace/mode/folding/markdown",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.foldingStartMarker=/^(?:[=-]+\s*$|#{1,6} |`{3})/,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?r[0]=="`"?e.bgTokenizer.getState(n)=="start"?"end":"start":"start":""},this.getFoldWidgetRange=function(e,t,n){function l(t){return f=e.getTokens(t)[0],f&&f.type.lastIndexOf(c,0)===0}function h(){var e=f.value[0];return e=="="?6:e=="-"?5:7-f.value.search(/[^#]/)}var r=e.getLine(n),i=r.length,o=e.getLength(),u=n,a=n;if(!r.match(this.foldingStartMarker))return;if(r[0]=="`"){if(e.bgTokenizer.getState(n)!=="start"){while(++n0){r=e.getLine(n);if(r[0]=="`"&r.substring(0,3)=="```")break}return new s(n,r.length,u,0)}var f,c="markup.heading";if(l(n)){var p=h();while(++n=p)break}a=n-(!f||["=","-"].indexOf(f.value[0])==-1?1:2);if(a>u)while(a>u&&/^\s*$/.test(e.getLine(a)))a--;if(a>u){var v=e.getLine(a).length;return new s(u,i,a,v)}}}}.call(o.prototype)}),ace.define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/xml","ace/mode/html","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript").Mode,o=e("./xml").Mode,u=e("./html").Mode,a=e("./markdown_highlight_rules").MarkdownHighlightRules,f=e("./folding/markdown").FoldMode,l=function(){this.HighlightRules=a,this.createModeDelegates({"js-":s,"xml-":o,"html-":u}),this.foldingRules=new f};r.inherits(l,i),function(){this.type="text",this.blockComment={start:""},this.getNextLineIndent=function(e,t,n){if(e=="listblock"){var r=/^(\s*)(?:([-+*])|(\d+)\.)(\s+)/.exec(t);if(!r)return"";var i=r[2];return i||(i=parseInt(r[3],10)+1+"."),r[1]+i+r[4]}return this.$getIndent(t)},this.$id="ace/mode/markdown"}.call(l.prototype),t.Mode=l}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-mysql.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-mysql.js index 01da5d06..733d6926 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-mysql.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-mysql.js @@ -1 +1 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/mysql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){function i(e){var t=e.start,n=e.escape;return{token:"string.start",regex:t,next:[{token:"constant.language.escape",regex:n},{token:"string.end",next:"start",regex:t},{defaultToken:"string"}]}}var e="alter|and|as|asc|between|count|create|delete|desc|distinct|drop|from|having|in|insert|into|is|join|like|not|on|or|order|select|set|table|union|update|values|where|accessible|action|add|after|algorithm|all|analyze|asensitive|at|authors|auto_increment|autocommit|avg|avg_row_length|before|binary|binlog|both|btree|cache|call|cascade|cascaded|case|catalog_name|chain|change|changed|character|check|checkpoint|checksum|class_origin|client_statistics|close|coalesce|code|collate|collation|collations|column|columns|comment|commit|committed|completion|concurrent|condition|connection|consistent|constraint|contains|continue|contributors|convert|cross|current_date|current_time|current_timestamp|current_user|cursor|data|database|databases|day_hour|day_microsecond|day_minute|day_second|deallocate|dec|declare|default|delay_key_write|delayed|delimiter|des_key_file|describe|deterministic|dev_pop|dev_samp|deviance|directory|disable|discard|distinctrow|div|dual|dumpfile|each|elseif|enable|enclosed|end|ends|engine|engines|enum|errors|escape|escaped|even|event|events|every|execute|exists|exit|explain|extended|fast|fetch|field|fields|first|flush|for|force|foreign|found_rows|full|fulltext|function|general|global|grant|grants|group|groupby_concat|handler|hash|help|high_priority|hosts|hour_microsecond|hour_minute|hour_second|if|ignore|ignore_server_ids|import|index|index_statistics|infile|inner|innodb|inout|insensitive|insert_method|install|interval|invoker|isolation|iterate|key|keys|kill|language|last|leading|leave|left|level|limit|linear|lines|list|load|local|localtime|localtimestamp|lock|logs|low_priority|master|master_heartbeat_period|master_ssl_verify_server_cert|masters|match|max|max_rows|maxvalue|message_text|middleint|migrate|min|min_rows|minute_microsecond|minute_second|mod|mode|modifies|modify|mutex|mysql_errno|natural|next|no|no_write_to_binlog|offline|offset|one|online|open|optimize|option|optionally|out|outer|outfile|pack_keys|parser|partition|partitions|password|phase|plugin|plugins|prepare|preserve|prev|primary|privileges|procedure|processlist|profile|profiles|purge|query|quick|range|read|read_write|reads|real|rebuild|recover|references|regexp|relaylog|release|remove|rename|reorganize|repair|repeatable|replace|require|resignal|restrict|resume|return|returns|revoke|right|rlike|rollback|rollup|row|row_format|rtree|savepoint|schedule|schema|schema_name|schemas|second_microsecond|security|sensitive|separator|serializable|server|session|share|show|signal|slave|slow|smallint|snapshot|soname|spatial|specific|sql|sql_big_result|sql_buffer_result|sql_cache|sql_calc_found_rows|sql_no_cache|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|start|starting|starts|status|std|stddev|stddev_pop|stddev_samp|storage|straight_join|subclass_origin|sum|suspend|table_name|table_statistics|tables|tablespace|temporary|terminated|to|trailing|transaction|trigger|triggers|truncate|uncommitted|undo|uninstall|unique|unlock|upgrade|usage|use|use_frm|user|user_resources|user_statistics|using|utc_date|utc_time|utc_timestamp|value|variables|varying|view|views|warnings|when|while|with|work|write|xa|xor|year_month|zerofill|begin|do|then|else|loop|repeat",t="by|bool|boolean|bit|blob|decimal|double|enum|float|long|longblob|longtext|medium|mediumblob|mediumint|mediumtext|time|timestamp|tinyblob|tinyint|tinytext|text|bigint|int|int1|int2|int3|int4|int8|integer|float|float4|float8|double|char|varbinary|varchar|varcharacter|precision|date|datetime|year|unsigned|signed|numeric",n="charset|clear|connect|edit|ego|exit|go|help|nopager|notee|nowarning|pager|print|prompt|quit|rehash|source|status|system|tee",r=this.createKeywordMapper({"support.function":t,keyword:e,constant:"false|true|null|unknown|date|time|timestamp|ODBCdotTable|zerolessFloat","variable.language":n},"identifier",!0);this.$rules={start:[{token:"comment",regex:"(?:-- |#).*$"},i({start:'"',escape:/\\[0'"bnrtZ\\%_]?/}),i({start:"'",escape:/\\[0'"bnrtZ\\%_]?/}),s.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+|[xX]'[0-9a-fA-F]+'|0[bB][01]+|[bB]'[01]+'/},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.class",regex:"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.buildin",regex:"`[^`]*`"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};r.inherits(u,o),t.MysqlHighlightRules=u}),ace.define("ace/mode/mysql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mysql_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("./mysql_highlight_rules").MysqlHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart=["--","#"],this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/mysql"}.call(u.prototype),t.Mode=u}) \ No newline at end of file +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/mysql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){function i(e){var t=e.start,n=e.escape;return{token:"string.start",regex:t,next:[{token:"constant.language.escape",regex:n},{token:"string.end",next:"start",regex:t},{defaultToken:"string"}]}}var e="alter|and|as|asc|between|count|create|delete|desc|distinct|drop|from|having|in|insert|into|is|join|like|not|on|or|order|select|set|table|union|update|values|where|accessible|action|add|after|algorithm|all|analyze|asensitive|at|authors|auto_increment|autocommit|avg|avg_row_length|before|binary|binlog|both|btree|cache|call|cascade|cascaded|case|catalog_name|chain|change|changed|character|check|checkpoint|checksum|class_origin|client_statistics|close|coalesce|code|collate|collation|collations|column|columns|comment|commit|committed|completion|concurrent|condition|connection|consistent|constraint|contains|continue|contributors|convert|cross|current_date|current_time|current_timestamp|current_user|cursor|data|database|databases|day_hour|day_microsecond|day_minute|day_second|deallocate|dec|declare|default|delay_key_write|delayed|delimiter|des_key_file|describe|deterministic|dev_pop|dev_samp|deviance|directory|disable|discard|distinctrow|div|dual|dumpfile|each|elseif|enable|enclosed|end|ends|engine|engines|enum|errors|escape|escaped|even|event|events|every|execute|exists|exit|explain|extended|fast|fetch|field|fields|first|flush|for|force|foreign|found_rows|full|fulltext|function|general|global|grant|grants|group|groupby_concat|handler|hash|help|high_priority|hosts|hour_microsecond|hour_minute|hour_second|if|ignore|ignore_server_ids|import|index|index_statistics|infile|inner|innodb|inout|insensitive|insert_method|install|interval|invoker|isolation|iterate|key|keys|kill|language|last|leading|leave|left|level|limit|linear|lines|list|load|local|localtime|localtimestamp|lock|logs|low_priority|master|master_heartbeat_period|master_ssl_verify_server_cert|masters|match|max|max_rows|maxvalue|message_text|middleint|migrate|min|min_rows|minute_microsecond|minute_second|mod|mode|modifies|modify|mutex|mysql_errno|natural|next|no|no_write_to_binlog|offline|offset|one|online|open|optimize|option|optionally|out|outer|outfile|pack_keys|parser|partition|partitions|password|phase|plugin|plugins|prepare|preserve|prev|primary|privileges|procedure|processlist|profile|profiles|purge|query|quick|range|read|read_write|reads|real|rebuild|recover|references|regexp|relaylog|release|remove|rename|reorganize|repair|repeatable|replace|require|resignal|restrict|resume|return|returns|revoke|right|rlike|rollback|rollup|row|row_format|rtree|savepoint|schedule|schema|schema_name|schemas|second_microsecond|security|sensitive|separator|serializable|server|session|share|show|signal|slave|slow|smallint|snapshot|soname|spatial|specific|sql|sql_big_result|sql_buffer_result|sql_cache|sql_calc_found_rows|sql_no_cache|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|start|starting|starts|status|std|stddev|stddev_pop|stddev_samp|storage|straight_join|subclass_origin|sum|suspend|table_name|table_statistics|tables|tablespace|temporary|terminated|to|trailing|transaction|trigger|triggers|truncate|uncommitted|undo|uninstall|unique|unlock|upgrade|usage|use|use_frm|user|user_resources|user_statistics|using|utc_date|utc_time|utc_timestamp|value|variables|varying|view|views|warnings|when|while|with|work|write|xa|xor|year_month|zerofill|begin|do|then|else|loop|repeat",t="by|bool|boolean|bit|blob|decimal|double|enum|float|long|longblob|longtext|medium|mediumblob|mediumint|mediumtext|time|timestamp|tinyblob|tinyint|tinytext|text|bigint|int|int1|int2|int3|int4|int8|integer|float|float4|float8|double|char|varbinary|varchar|varcharacter|precision|date|datetime|year|unsigned|signed|numeric",n="charset|clear|connect|edit|ego|exit|go|help|nopager|notee|nowarning|pager|print|prompt|quit|rehash|source|status|system|tee",r=this.createKeywordMapper({"support.function":t,keyword:e,constant:"false|true|null|unknown|date|time|timestamp|ODBCdotTable|zerolessFloat","variable.language":n},"identifier",!0);this.$rules={start:[{token:"comment",regex:"(?:-- |#).*$"},i({start:'"',escape:/\\[0'"bnrtZ\\%_]?/}),i({start:"'",escape:/\\[0'"bnrtZ\\%_]?/}),s.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+|[xX]'[0-9a-fA-F]+'|0[bB][01]+|[bB]'[01]+'/},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.class",regex:"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.buildin",regex:"`[^`]*`"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};r.inherits(u,o),t.MysqlHighlightRules=u}),ace.define("ace/mode/mysql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mysql_highlight_rules","ace/range"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("./mysql_highlight_rules").MysqlHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart=["--","#"],this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/mysql"}.call(u.prototype),t.Mode=u}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-php.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-php.js index eb0bac74..8d0f83fd 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-php.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-php.js @@ -1 +1 @@ -ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),t="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",n="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+n+")(\\.)(prototype)(\\.)("+n+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+n+")(\\.)("+n+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+n+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+n+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+t+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:e,regex:n},{token:"keyword.operator",regex:/--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,next:"start"},{token:"punctuation.operator",regex:/\?|\:|\,|\;|\./,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"keyword.operator",regex:/\/=?/,next:"start"},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:n},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},this.embedRules(i,"doc-",[i.getEndRule("no_regex")])};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/php_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=e("./html_highlight_rules").HtmlHighlightRules,a=function(){var e=s,t=i.arrayToMap("abs|acos|acosh|addcslashes|addslashes|aggregate|aggregate_info|aggregate_methods|aggregate_methods_by_list|aggregate_methods_by_regexp|aggregate_properties|aggregate_properties_by_list|aggregate_properties_by_regexp|aggregation_info|amqpconnection|amqpexchange|amqpqueue|apache_child_terminate|apache_get_modules|apache_get_version|apache_getenv|apache_lookup_uri|apache_note|apache_request_headers|apache_reset_timeout|apache_response_headers|apache_setenv|apc_add|apc_bin_dump|apc_bin_dumpfile|apc_bin_load|apc_bin_loadfile|apc_cache_info|apc_cas|apc_clear_cache|apc_compile_file|apc_dec|apc_define_constants|apc_delete|apc_delete_file|apc_exists|apc_fetch|apc_inc|apc_load_constants|apc_sma_info|apc_store|apciterator|apd_breakpoint|apd_callstack|apd_clunk|apd_continue|apd_croak|apd_dump_function_table|apd_dump_persistent_resources|apd_dump_regular_resources|apd_echo|apd_get_active_symbols|apd_set_pprof_trace|apd_set_session|apd_set_session_trace|apd_set_session_trace_socket|appenditerator|array|array_change_key_case|array_chunk|array_combine|array_count_values|array_diff|array_diff_assoc|array_diff_key|array_diff_uassoc|array_diff_ukey|array_fill|array_fill_keys|array_filter|array_flip|array_intersect|array_intersect_assoc|array_intersect_key|array_intersect_uassoc|array_intersect_ukey|array_key_exists|array_keys|array_map|array_merge|array_merge_recursive|array_multisort|array_pad|array_pop|array_product|array_push|array_rand|array_reduce|array_replace|array_replace_recursive|array_reverse|array_search|array_shift|array_slice|array_splice|array_sum|array_udiff|array_udiff_assoc|array_udiff_uassoc|array_uintersect|array_uintersect_assoc|array_uintersect_uassoc|array_unique|array_unshift|array_values|array_walk|array_walk_recursive|arrayaccess|arrayiterator|arrayobject|arsort|asin|asinh|asort|assert|assert_options|atan|atan2|atanh|audioproperties|badfunctioncallexception|badmethodcallexception|base64_decode|base64_encode|base_convert|basename|bbcode_add_element|bbcode_add_smiley|bbcode_create|bbcode_destroy|bbcode_parse|bbcode_set_arg_parser|bbcode_set_flags|bcadd|bccomp|bcdiv|bcmod|bcmul|bcompiler_load|bcompiler_load_exe|bcompiler_parse_class|bcompiler_read|bcompiler_write_class|bcompiler_write_constant|bcompiler_write_exe_footer|bcompiler_write_file|bcompiler_write_footer|bcompiler_write_function|bcompiler_write_functions_from_file|bcompiler_write_header|bcompiler_write_included_filename|bcpow|bcpowmod|bcscale|bcsqrt|bcsub|bin2hex|bind_textdomain_codeset|bindec|bindtextdomain|bson_decode|bson_encode|bumpValue|bzclose|bzcompress|bzdecompress|bzerrno|bzerror|bzerrstr|bzflush|bzopen|bzread|bzwrite|cachingiterator|cairo|cairo_create|cairo_font_face_get_type|cairo_font_face_status|cairo_font_options_create|cairo_font_options_equal|cairo_font_options_get_antialias|cairo_font_options_get_hint_metrics|cairo_font_options_get_hint_style|cairo_font_options_get_subpixel_order|cairo_font_options_hash|cairo_font_options_merge|cairo_font_options_set_antialias|cairo_font_options_set_hint_metrics|cairo_font_options_set_hint_style|cairo_font_options_set_subpixel_order|cairo_font_options_status|cairo_format_stride_for_width|cairo_image_surface_create|cairo_image_surface_create_for_data|cairo_image_surface_create_from_png|cairo_image_surface_get_data|cairo_image_surface_get_format|cairo_image_surface_get_height|cairo_image_surface_get_stride|cairo_image_surface_get_width|cairo_matrix_create_scale|cairo_matrix_create_translate|cairo_matrix_invert|cairo_matrix_multiply|cairo_matrix_rotate|cairo_matrix_transform_distance|cairo_matrix_transform_point|cairo_matrix_translate|cairo_pattern_add_color_stop_rgb|cairo_pattern_add_color_stop_rgba|cairo_pattern_create_for_surface|cairo_pattern_create_linear|cairo_pattern_create_radial|cairo_pattern_create_rgb|cairo_pattern_create_rgba|cairo_pattern_get_color_stop_count|cairo_pattern_get_color_stop_rgba|cairo_pattern_get_extend|cairo_pattern_get_filter|cairo_pattern_get_linear_points|cairo_pattern_get_matrix|cairo_pattern_get_radial_circles|cairo_pattern_get_rgba|cairo_pattern_get_surface|cairo_pattern_get_type|cairo_pattern_set_extend|cairo_pattern_set_filter|cairo_pattern_set_matrix|cairo_pattern_status|cairo_pdf_surface_create|cairo_pdf_surface_set_size|cairo_ps_get_levels|cairo_ps_level_to_string|cairo_ps_surface_create|cairo_ps_surface_dsc_begin_page_setup|cairo_ps_surface_dsc_begin_setup|cairo_ps_surface_dsc_comment|cairo_ps_surface_get_eps|cairo_ps_surface_restrict_to_level|cairo_ps_surface_set_eps|cairo_ps_surface_set_size|cairo_scaled_font_create|cairo_scaled_font_extents|cairo_scaled_font_get_ctm|cairo_scaled_font_get_font_face|cairo_scaled_font_get_font_matrix|cairo_scaled_font_get_font_options|cairo_scaled_font_get_scale_matrix|cairo_scaled_font_get_type|cairo_scaled_font_glyph_extents|cairo_scaled_font_status|cairo_scaled_font_text_extents|cairo_surface_copy_page|cairo_surface_create_similar|cairo_surface_finish|cairo_surface_flush|cairo_surface_get_content|cairo_surface_get_device_offset|cairo_surface_get_font_options|cairo_surface_get_type|cairo_surface_mark_dirty|cairo_surface_mark_dirty_rectangle|cairo_surface_set_device_offset|cairo_surface_set_fallback_resolution|cairo_surface_show_page|cairo_surface_status|cairo_surface_write_to_png|cairo_svg_surface_create|cairo_svg_surface_restrict_to_version|cairo_svg_version_to_string|cairoantialias|cairocontent|cairocontext|cairoexception|cairoextend|cairofillrule|cairofilter|cairofontface|cairofontoptions|cairofontslant|cairofonttype|cairofontweight|cairoformat|cairogradientpattern|cairohintmetrics|cairohintstyle|cairoimagesurface|cairolineargradient|cairolinecap|cairolinejoin|cairomatrix|cairooperator|cairopath|cairopattern|cairopatterntype|cairopdfsurface|cairopslevel|cairopssurface|cairoradialgradient|cairoscaledfont|cairosolidpattern|cairostatus|cairosubpixelorder|cairosurface|cairosurfacepattern|cairosurfacetype|cairosvgsurface|cairosvgversion|cairotoyfontface|cal_days_in_month|cal_from_jd|cal_info|cal_to_jd|calcul_hmac|calculhmac|call_user_func|call_user_func_array|call_user_method|call_user_method_array|callbackfilteriterator|ceil|chdb|chdb_create|chdir|checkdate|checkdnsrr|chgrp|chmod|chop|chown|chr|chroot|chunk_split|class_alias|class_exists|class_implements|class_parents|classkit_import|classkit_method_add|classkit_method_copy|classkit_method_redefine|classkit_method_remove|classkit_method_rename|clearstatcache|clone|closedir|closelog|collator|com|com_addref|com_create_guid|com_event_sink|com_get|com_get_active_object|com_invoke|com_isenum|com_load|com_load_typelib|com_message_pump|com_print_typeinfo|com_propget|com_propput|com_propset|com_release|com_set|compact|connection_aborted|connection_status|connection_timeout|constant|construct|construct|construct|convert_cyr_string|convert_uudecode|convert_uuencode|copy|cos|cosh|count|count_chars|countable|counter_bump|counter_bump_value|counter_create|counter_get|counter_get_meta|counter_get_named|counter_get_value|counter_reset|counter_reset_value|crack_check|crack_closedict|crack_getlastmessage|crack_opendict|crc32|create_function|crypt|ctype_alnum|ctype_alpha|ctype_cntrl|ctype_digit|ctype_graph|ctype_lower|ctype_print|ctype_punct|ctype_space|ctype_upper|ctype_xdigit|cubrid_affected_rows|cubrid_bind|cubrid_client_encoding|cubrid_close|cubrid_close_prepare|cubrid_close_request|cubrid_col_get|cubrid_col_size|cubrid_column_names|cubrid_column_types|cubrid_commit|cubrid_connect|cubrid_connect_with_url|cubrid_current_oid|cubrid_data_seek|cubrid_db_name|cubrid_disconnect|cubrid_drop|cubrid_errno|cubrid_error|cubrid_error_code|cubrid_error_code_facility|cubrid_error_msg|cubrid_execute|cubrid_fetch|cubrid_fetch_array|cubrid_fetch_assoc|cubrid_fetch_field|cubrid_fetch_lengths|cubrid_fetch_object|cubrid_fetch_row|cubrid_field_flags|cubrid_field_len|cubrid_field_name|cubrid_field_seek|cubrid_field_table|cubrid_field_type|cubrid_free_result|cubrid_get|cubrid_get_autocommit|cubrid_get_charset|cubrid_get_class_name|cubrid_get_client_info|cubrid_get_db_parameter|cubrid_get_server_info|cubrid_insert_id|cubrid_is_instance|cubrid_list_dbs|cubrid_load_from_glo|cubrid_lob_close|cubrid_lob_export|cubrid_lob_get|cubrid_lob_send|cubrid_lob_size|cubrid_lock_read|cubrid_lock_write|cubrid_move_cursor|cubrid_new_glo|cubrid_next_result|cubrid_num_cols|cubrid_num_fields|cubrid_num_rows|cubrid_ping|cubrid_prepare|cubrid_put|cubrid_query|cubrid_real_escape_string|cubrid_result|cubrid_rollback|cubrid_save_to_glo|cubrid_schema|cubrid_send_glo|cubrid_seq_drop|cubrid_seq_insert|cubrid_seq_put|cubrid_set_add|cubrid_set_autocommit|cubrid_set_db_parameter|cubrid_set_drop|cubrid_unbuffered_query|cubrid_version|curl_close|curl_copy_handle|curl_errno|curl_error|curl_exec|curl_getinfo|curl_init|curl_multi_add_handle|curl_multi_close|curl_multi_exec|curl_multi_getcontent|curl_multi_info_read|curl_multi_init|curl_multi_remove_handle|curl_multi_select|curl_setopt|curl_setopt_array|curl_version|current|cyrus_authenticate|cyrus_bind|cyrus_close|cyrus_connect|cyrus_query|cyrus_unbind|date|date_add|date_create|date_create_from_format|date_date_set|date_default_timezone_get|date_default_timezone_set|date_diff|date_format|date_get_last_errors|date_interval_create_from_date_string|date_interval_format|date_isodate_set|date_modify|date_offset_get|date_parse|date_parse_from_format|date_sub|date_sun_info|date_sunrise|date_sunset|date_time_set|date_timestamp_get|date_timestamp_set|date_timezone_get|date_timezone_set|dateinterval|dateperiod|datetime|datetimezone|db2_autocommit|db2_bind_param|db2_client_info|db2_close|db2_column_privileges|db2_columns|db2_commit|db2_conn_error|db2_conn_errormsg|db2_connect|db2_cursor_type|db2_escape_string|db2_exec|db2_execute|db2_fetch_array|db2_fetch_assoc|db2_fetch_both|db2_fetch_object|db2_fetch_row|db2_field_display_size|db2_field_name|db2_field_num|db2_field_precision|db2_field_scale|db2_field_type|db2_field_width|db2_foreign_keys|db2_free_result|db2_free_stmt|db2_get_option|db2_last_insert_id|db2_lob_read|db2_next_result|db2_num_fields|db2_num_rows|db2_pclose|db2_pconnect|db2_prepare|db2_primary_keys|db2_procedure_columns|db2_procedures|db2_result|db2_rollback|db2_server_info|db2_set_option|db2_special_columns|db2_statistics|db2_stmt_error|db2_stmt_errormsg|db2_table_privileges|db2_tables|dba_close|dba_delete|dba_exists|dba_fetch|dba_firstkey|dba_handlers|dba_insert|dba_key_split|dba_list|dba_nextkey|dba_open|dba_optimize|dba_popen|dba_replace|dba_sync|dbase_add_record|dbase_close|dbase_create|dbase_delete_record|dbase_get_header_info|dbase_get_record|dbase_get_record_with_names|dbase_numfields|dbase_numrecords|dbase_open|dbase_pack|dbase_replace_record|dbplus_add|dbplus_aql|dbplus_chdir|dbplus_close|dbplus_curr|dbplus_errcode|dbplus_errno|dbplus_find|dbplus_first|dbplus_flush|dbplus_freealllocks|dbplus_freelock|dbplus_freerlocks|dbplus_getlock|dbplus_getunique|dbplus_info|dbplus_last|dbplus_lockrel|dbplus_next|dbplus_open|dbplus_prev|dbplus_rchperm|dbplus_rcreate|dbplus_rcrtexact|dbplus_rcrtlike|dbplus_resolve|dbplus_restorepos|dbplus_rkeys|dbplus_ropen|dbplus_rquery|dbplus_rrename|dbplus_rsecindex|dbplus_runlink|dbplus_rzap|dbplus_savepos|dbplus_setindex|dbplus_setindexbynumber|dbplus_sql|dbplus_tcl|dbplus_tremove|dbplus_undo|dbplus_undoprepare|dbplus_unlockrel|dbplus_unselect|dbplus_update|dbplus_xlockrel|dbplus_xunlockrel|dbx_close|dbx_compare|dbx_connect|dbx_error|dbx_escape_string|dbx_fetch_row|dbx_query|dbx_sort|dcgettext|dcngettext|deaggregate|debug_backtrace|debug_print_backtrace|debug_zval_dump|decbin|dechex|decoct|define|define_syslog_variables|defined|deg2rad|delete|dgettext|die|dio_close|dio_fcntl|dio_open|dio_read|dio_seek|dio_stat|dio_tcsetattr|dio_truncate|dio_write|dir|directoryiterator|dirname|disk_free_space|disk_total_space|diskfreespace|dl|dngettext|dns_check_record|dns_get_mx|dns_get_record|dom_import_simplexml|domainexception|domattr|domattribute_name|domattribute_set_value|domattribute_specified|domattribute_value|domcharacterdata|domcomment|domdocument|domdocument_add_root|domdocument_create_attribute|domdocument_create_cdata_section|domdocument_create_comment|domdocument_create_element|domdocument_create_element_ns|domdocument_create_entity_reference|domdocument_create_processing_instruction|domdocument_create_text_node|domdocument_doctype|domdocument_document_element|domdocument_dump_file|domdocument_dump_mem|domdocument_get_element_by_id|domdocument_get_elements_by_tagname|domdocument_html_dump_mem|domdocument_xinclude|domdocumentfragment|domdocumenttype|domdocumenttype_entities|domdocumenttype_internal_subset|domdocumenttype_name|domdocumenttype_notations|domdocumenttype_public_id|domdocumenttype_system_id|domelement|domelement_get_attribute|domelement_get_attribute_node|domelement_get_elements_by_tagname|domelement_has_attribute|domelement_remove_attribute|domelement_set_attribute|domelement_set_attribute_node|domelement_tagname|domentity|domentityreference|domexception|domimplementation|domnamednodemap|domnode|domnode_add_namespace|domnode_append_child|domnode_append_sibling|domnode_attributes|domnode_child_nodes|domnode_clone_node|domnode_dump_node|domnode_first_child|domnode_get_content|domnode_has_attributes|domnode_has_child_nodes|domnode_insert_before|domnode_is_blank_node|domnode_last_child|domnode_next_sibling|domnode_node_name|domnode_node_type|domnode_node_value|domnode_owner_document|domnode_parent_node|domnode_prefix|domnode_previous_sibling|domnode_remove_child|domnode_replace_child|domnode_replace_node|domnode_set_content|domnode_set_name|domnode_set_namespace|domnode_unlink_node|domnodelist|domnotation|domprocessinginstruction|domprocessinginstruction_data|domprocessinginstruction_target|domtext|domxml_new_doc|domxml_open_file|domxml_open_mem|domxml_version|domxml_xmltree|domxml_xslt_stylesheet|domxml_xslt_stylesheet_doc|domxml_xslt_stylesheet_file|domxml_xslt_version|domxpath|domxsltstylesheet_process|domxsltstylesheet_result_dump_file|domxsltstylesheet_result_dump_mem|dotnet|dotnet_load|doubleval|each|easter_date|easter_days|echo|empty|emptyiterator|enchant_broker_describe|enchant_broker_dict_exists|enchant_broker_free|enchant_broker_free_dict|enchant_broker_get_error|enchant_broker_init|enchant_broker_list_dicts|enchant_broker_request_dict|enchant_broker_request_pwl_dict|enchant_broker_set_ordering|enchant_dict_add_to_personal|enchant_dict_add_to_session|enchant_dict_check|enchant_dict_describe|enchant_dict_get_error|enchant_dict_is_in_session|enchant_dict_quick_check|enchant_dict_store_replacement|enchant_dict_suggest|end|ereg|ereg_replace|eregi|eregi_replace|error_get_last|error_log|error_reporting|errorexception|escapeshellarg|escapeshellcmd|eval|event_add|event_base_free|event_base_loop|event_base_loopbreak|event_base_loopexit|event_base_new|event_base_priority_init|event_base_set|event_buffer_base_set|event_buffer_disable|event_buffer_enable|event_buffer_fd_set|event_buffer_free|event_buffer_new|event_buffer_priority_set|event_buffer_read|event_buffer_set_callback|event_buffer_timeout_set|event_buffer_watermark_set|event_buffer_write|event_del|event_free|event_new|event_set|exception|exec|exif_imagetype|exif_read_data|exif_tagname|exif_thumbnail|exit|exp|expect_expectl|expect_popen|explode|expm1|export|export|extension_loaded|extract|ezmlm_hash|fam_cancel_monitor|fam_close|fam_monitor_collection|fam_monitor_directory|fam_monitor_file|fam_next_event|fam_open|fam_pending|fam_resume_monitor|fam_suspend_monitor|fbsql_affected_rows|fbsql_autocommit|fbsql_blob_size|fbsql_change_user|fbsql_clob_size|fbsql_close|fbsql_commit|fbsql_connect|fbsql_create_blob|fbsql_create_clob|fbsql_create_db|fbsql_data_seek|fbsql_database|fbsql_database_password|fbsql_db_query|fbsql_db_status|fbsql_drop_db|fbsql_errno|fbsql_error|fbsql_fetch_array|fbsql_fetch_assoc|fbsql_fetch_field|fbsql_fetch_lengths|fbsql_fetch_object|fbsql_fetch_row|fbsql_field_flags|fbsql_field_len|fbsql_field_name|fbsql_field_seek|fbsql_field_table|fbsql_field_type|fbsql_free_result|fbsql_get_autostart_info|fbsql_hostname|fbsql_insert_id|fbsql_list_dbs|fbsql_list_fields|fbsql_list_tables|fbsql_next_result|fbsql_num_fields|fbsql_num_rows|fbsql_password|fbsql_pconnect|fbsql_query|fbsql_read_blob|fbsql_read_clob|fbsql_result|fbsql_rollback|fbsql_rows_fetched|fbsql_select_db|fbsql_set_characterset|fbsql_set_lob_mode|fbsql_set_password|fbsql_set_transaction|fbsql_start_db|fbsql_stop_db|fbsql_table_name|fbsql_tablename|fbsql_username|fbsql_warnings|fclose|fdf_add_doc_javascript|fdf_add_template|fdf_close|fdf_create|fdf_enum_values|fdf_errno|fdf_error|fdf_get_ap|fdf_get_attachment|fdf_get_encoding|fdf_get_file|fdf_get_flags|fdf_get_opt|fdf_get_status|fdf_get_value|fdf_get_version|fdf_header|fdf_next_field_name|fdf_open|fdf_open_string|fdf_remove_item|fdf_save|fdf_save_string|fdf_set_ap|fdf_set_encoding|fdf_set_file|fdf_set_flags|fdf_set_javascript_action|fdf_set_on_import_javascript|fdf_set_opt|fdf_set_status|fdf_set_submit_form_action|fdf_set_target_frame|fdf_set_value|fdf_set_version|feof|fflush|fgetc|fgetcsv|fgets|fgetss|file|file_exists|file_get_contents|file_put_contents|fileatime|filectime|filegroup|fileinode|filemtime|fileowner|fileperms|filepro|filepro_fieldcount|filepro_fieldname|filepro_fieldtype|filepro_fieldwidth|filepro_retrieve|filepro_rowcount|filesize|filesystemiterator|filetype|filter_has_var|filter_id|filter_input|filter_input_array|filter_list|filter_var|filter_var_array|filteriterator|finfo_buffer|finfo_close|finfo_file|finfo_open|finfo_set_flags|floatval|flock|floor|flush|fmod|fnmatch|fopen|forward_static_call|forward_static_call_array|fpassthru|fprintf|fputcsv|fputs|fread|frenchtojd|fribidi_log2vis|fscanf|fseek|fsockopen|fstat|ftell|ftok|ftp_alloc|ftp_cdup|ftp_chdir|ftp_chmod|ftp_close|ftp_connect|ftp_delete|ftp_exec|ftp_fget|ftp_fput|ftp_get|ftp_get_option|ftp_login|ftp_mdtm|ftp_mkdir|ftp_nb_continue|ftp_nb_fget|ftp_nb_fput|ftp_nb_get|ftp_nb_put|ftp_nlist|ftp_pasv|ftp_put|ftp_pwd|ftp_quit|ftp_raw|ftp_rawlist|ftp_rename|ftp_rmdir|ftp_set_option|ftp_site|ftp_size|ftp_ssl_connect|ftp_systype|ftruncate|func_get_arg|func_get_args|func_num_args|function_exists|fwrite|gc_collect_cycles|gc_disable|gc_enable|gc_enabled|gd_info|gearmanclient|gearmanjob|gearmantask|gearmanworker|geoip_continent_code_by_name|geoip_country_code3_by_name|geoip_country_code_by_name|geoip_country_name_by_name|geoip_database_info|geoip_db_avail|geoip_db_filename|geoip_db_get_all_info|geoip_id_by_name|geoip_isp_by_name|geoip_org_by_name|geoip_record_by_name|geoip_region_by_name|geoip_region_name_by_code|geoip_time_zone_by_country_and_region|getMeta|getNamed|getValue|get_browser|get_called_class|get_cfg_var|get_class|get_class_methods|get_class_vars|get_current_user|get_declared_classes|get_declared_interfaces|get_defined_constants|get_defined_functions|get_defined_vars|get_extension_funcs|get_headers|get_html_translation_table|get_include_path|get_included_files|get_loaded_extensions|get_magic_quotes_gpc|get_magic_quotes_runtime|get_meta_tags|get_object_vars|get_parent_class|get_required_files|get_resource_type|getallheaders|getconstant|getconstants|getconstructor|getcwd|getdate|getdefaultproperties|getdoccomment|getendline|getenv|getextension|getextensionname|getfilename|gethostbyaddr|gethostbyname|gethostbynamel|gethostname|getimagesize|getinterfacenames|getinterfaces|getlastmod|getmethod|getmethods|getmodifiers|getmxrr|getmygid|getmyinode|getmypid|getmyuid|getname|getnamespacename|getopt|getparentclass|getproperties|getproperty|getprotobyname|getprotobynumber|getrandmax|getrusage|getservbyname|getservbyport|getshortname|getstartline|getstaticproperties|getstaticpropertyvalue|gettext|gettimeofday|gettype|glob|globiterator|gmagick|gmagickdraw|gmagickpixel|gmdate|gmmktime|gmp_abs|gmp_add|gmp_and|gmp_clrbit|gmp_cmp|gmp_com|gmp_div|gmp_div_q|gmp_div_qr|gmp_div_r|gmp_divexact|gmp_fact|gmp_gcd|gmp_gcdext|gmp_hamdist|gmp_init|gmp_intval|gmp_invert|gmp_jacobi|gmp_legendre|gmp_mod|gmp_mul|gmp_neg|gmp_nextprime|gmp_or|gmp_perfect_square|gmp_popcount|gmp_pow|gmp_powm|gmp_prob_prime|gmp_random|gmp_scan0|gmp_scan1|gmp_setbit|gmp_sign|gmp_sqrt|gmp_sqrtrem|gmp_strval|gmp_sub|gmp_testbit|gmp_xor|gmstrftime|gnupg_adddecryptkey|gnupg_addencryptkey|gnupg_addsignkey|gnupg_cleardecryptkeys|gnupg_clearencryptkeys|gnupg_clearsignkeys|gnupg_decrypt|gnupg_decryptverify|gnupg_encrypt|gnupg_encryptsign|gnupg_export|gnupg_geterror|gnupg_getprotocol|gnupg_import|gnupg_init|gnupg_keyinfo|gnupg_setarmor|gnupg_seterrormode|gnupg_setsignmode|gnupg_sign|gnupg_verify|gopher_parsedir|grapheme_extract|grapheme_stripos|grapheme_stristr|grapheme_strlen|grapheme_strpos|grapheme_strripos|grapheme_strrpos|grapheme_strstr|grapheme_substr|gregoriantojd|gupnp_context_get_host_ip|gupnp_context_get_port|gupnp_context_get_subscription_timeout|gupnp_context_host_path|gupnp_context_new|gupnp_context_set_subscription_timeout|gupnp_context_timeout_add|gupnp_context_unhost_path|gupnp_control_point_browse_start|gupnp_control_point_browse_stop|gupnp_control_point_callback_set|gupnp_control_point_new|gupnp_device_action_callback_set|gupnp_device_info_get|gupnp_device_info_get_service|gupnp_root_device_get_available|gupnp_root_device_get_relative_location|gupnp_root_device_new|gupnp_root_device_set_available|gupnp_root_device_start|gupnp_root_device_stop|gupnp_service_action_get|gupnp_service_action_return|gupnp_service_action_return_error|gupnp_service_action_set|gupnp_service_freeze_notify|gupnp_service_info_get|gupnp_service_info_get_introspection|gupnp_service_introspection_get_state_variable|gupnp_service_notify|gupnp_service_proxy_action_get|gupnp_service_proxy_action_set|gupnp_service_proxy_add_notify|gupnp_service_proxy_callback_set|gupnp_service_proxy_get_subscribed|gupnp_service_proxy_remove_notify|gupnp_service_proxy_set_subscribed|gupnp_service_thaw_notify|gzclose|gzcompress|gzdecode|gzdeflate|gzencode|gzeof|gzfile|gzgetc|gzgets|gzgetss|gzinflate|gzopen|gzpassthru|gzputs|gzread|gzrewind|gzseek|gztell|gzuncompress|gzwrite|halt_compiler|haruannotation|haruannotation_setborderstyle|haruannotation_sethighlightmode|haruannotation_seticon|haruannotation_setopened|harudestination|harudestination_setfit|harudestination_setfitb|harudestination_setfitbh|harudestination_setfitbv|harudestination_setfith|harudestination_setfitr|harudestination_setfitv|harudestination_setxyz|harudoc|harudoc_addpage|harudoc_addpagelabel|harudoc_construct|harudoc_createoutline|harudoc_getcurrentencoder|harudoc_getcurrentpage|harudoc_getencoder|harudoc_getfont|harudoc_getinfoattr|harudoc_getpagelayout|harudoc_getpagemode|harudoc_getstreamsize|harudoc_insertpage|harudoc_loadjpeg|harudoc_loadpng|harudoc_loadraw|harudoc_loadttc|harudoc_loadttf|harudoc_loadtype1|harudoc_output|harudoc_readfromstream|harudoc_reseterror|harudoc_resetstream|harudoc_save|harudoc_savetostream|harudoc_setcompressionmode|harudoc_setcurrentencoder|harudoc_setencryptionmode|harudoc_setinfoattr|harudoc_setinfodateattr|harudoc_setopenaction|harudoc_setpagelayout|harudoc_setpagemode|harudoc_setpagesconfiguration|harudoc_setpassword|harudoc_setpermission|harudoc_usecnsencodings|harudoc_usecnsfonts|harudoc_usecntencodings|harudoc_usecntfonts|harudoc_usejpencodings|harudoc_usejpfonts|harudoc_usekrencodings|harudoc_usekrfonts|haruencoder|haruencoder_getbytetype|haruencoder_gettype|haruencoder_getunicode|haruencoder_getwritingmode|haruexception|harufont|harufont_getascent|harufont_getcapheight|harufont_getdescent|harufont_getencodingname|harufont_getfontname|harufont_gettextwidth|harufont_getunicodewidth|harufont_getxheight|harufont_measuretext|haruimage|haruimage_getbitspercomponent|haruimage_getcolorspace|haruimage_getheight|haruimage_getsize|haruimage_getwidth|haruimage_setcolormask|haruimage_setmaskimage|haruoutline|haruoutline_setdestination|haruoutline_setopened|harupage|harupage_arc|harupage_begintext|harupage_circle|harupage_closepath|harupage_concat|harupage_createdestination|harupage_createlinkannotation|harupage_createtextannotation|harupage_createurlannotation|harupage_curveto|harupage_curveto2|harupage_curveto3|harupage_drawimage|harupage_ellipse|harupage_endpath|harupage_endtext|harupage_eofill|harupage_eofillstroke|harupage_fill|harupage_fillstroke|harupage_getcharspace|harupage_getcmykfill|harupage_getcmykstroke|harupage_getcurrentfont|harupage_getcurrentfontsize|harupage_getcurrentpos|harupage_getcurrenttextpos|harupage_getdash|harupage_getfillingcolorspace|harupage_getflatness|harupage_getgmode|harupage_getgrayfill|harupage_getgraystroke|harupage_getheight|harupage_gethorizontalscaling|harupage_getlinecap|harupage_getlinejoin|harupage_getlinewidth|harupage_getmiterlimit|harupage_getrgbfill|harupage_getrgbstroke|harupage_getstrokingcolorspace|harupage_gettextleading|harupage_gettextmatrix|harupage_gettextrenderingmode|harupage_gettextrise|harupage_gettextwidth|harupage_gettransmatrix|harupage_getwidth|harupage_getwordspace|harupage_lineto|harupage_measuretext|harupage_movetextpos|harupage_moveto|harupage_movetonextline|harupage_rectangle|harupage_setcharspace|harupage_setcmykfill|harupage_setcmykstroke|harupage_setdash|harupage_setflatness|harupage_setfontandsize|harupage_setgrayfill|harupage_setgraystroke|harupage_setheight|harupage_sethorizontalscaling|harupage_setlinecap|harupage_setlinejoin|harupage_setlinewidth|harupage_setmiterlimit|harupage_setrgbfill|harupage_setrgbstroke|harupage_setrotate|harupage_setsize|harupage_setslideshow|harupage_settextleading|harupage_settextmatrix|harupage_settextrenderingmode|harupage_settextrise|harupage_setwidth|harupage_setwordspace|harupage_showtext|harupage_showtextnextline|harupage_stroke|harupage_textout|harupage_textrect|hasconstant|hash|hash_algos|hash_copy|hash_file|hash_final|hash_hmac|hash_hmac_file|hash_init|hash_update|hash_update_file|hash_update_stream|hasmethod|hasproperty|header|header_register_callback|header_remove|headers_list|headers_sent|hebrev|hebrevc|hex2bin|hexdec|highlight_file|highlight_string|html_entity_decode|htmlentities|htmlspecialchars|htmlspecialchars_decode|http_build_cookie|http_build_query|http_build_str|http_build_url|http_cache_etag|http_cache_last_modified|http_chunked_decode|http_date|http_deflate|http_get|http_get_request_body|http_get_request_body_stream|http_get_request_headers|http_head|http_inflate|http_match_etag|http_match_modified|http_match_request_header|http_negotiate_charset|http_negotiate_content_type|http_negotiate_language|http_parse_cookie|http_parse_headers|http_parse_message|http_parse_params|http_persistent_handles_clean|http_persistent_handles_count|http_persistent_handles_ident|http_post_data|http_post_fields|http_put_data|http_put_file|http_put_stream|http_redirect|http_request|http_request_body_encode|http_request_method_exists|http_request_method_name|http_request_method_register|http_request_method_unregister|http_response_code|http_send_content_disposition|http_send_content_type|http_send_data|http_send_file|http_send_last_modified|http_send_status|http_send_stream|http_support|http_throttle|httpdeflatestream|httpdeflatestream_construct|httpdeflatestream_factory|httpdeflatestream_finish|httpdeflatestream_flush|httpdeflatestream_update|httpinflatestream|httpinflatestream_construct|httpinflatestream_factory|httpinflatestream_finish|httpinflatestream_flush|httpinflatestream_update|httpmessage|httpmessage_addheaders|httpmessage_construct|httpmessage_detach|httpmessage_factory|httpmessage_fromenv|httpmessage_fromstring|httpmessage_getbody|httpmessage_getheader|httpmessage_getheaders|httpmessage_gethttpversion|httpmessage_getparentmessage|httpmessage_getrequestmethod|httpmessage_getrequesturl|httpmessage_getresponsecode|httpmessage_getresponsestatus|httpmessage_gettype|httpmessage_guesscontenttype|httpmessage_prepend|httpmessage_reverse|httpmessage_send|httpmessage_setbody|httpmessage_setheaders|httpmessage_sethttpversion|httpmessage_setrequestmethod|httpmessage_setrequesturl|httpmessage_setresponsecode|httpmessage_setresponsestatus|httpmessage_settype|httpmessage_tomessagetypeobject|httpmessage_tostring|httpquerystring|httpquerystring_construct|httpquerystring_get|httpquerystring_mod|httpquerystring_set|httpquerystring_singleton|httpquerystring_toarray|httpquerystring_tostring|httpquerystring_xlate|httprequest|httprequest_addcookies|httprequest_addheaders|httprequest_addpostfields|httprequest_addpostfile|httprequest_addputdata|httprequest_addquerydata|httprequest_addrawpostdata|httprequest_addssloptions|httprequest_clearhistory|httprequest_construct|httprequest_enablecookies|httprequest_getcontenttype|httprequest_getcookies|httprequest_getheaders|httprequest_gethistory|httprequest_getmethod|httprequest_getoptions|httprequest_getpostfields|httprequest_getpostfiles|httprequest_getputdata|httprequest_getputfile|httprequest_getquerydata|httprequest_getrawpostdata|httprequest_getrawrequestmessage|httprequest_getrawresponsemessage|httprequest_getrequestmessage|httprequest_getresponsebody|httprequest_getresponsecode|httprequest_getresponsecookies|httprequest_getresponsedata|httprequest_getresponseheader|httprequest_getresponseinfo|httprequest_getresponsemessage|httprequest_getresponsestatus|httprequest_getssloptions|httprequest_geturl|httprequest_resetcookies|httprequest_send|httprequest_setcontenttype|httprequest_setcookies|httprequest_setheaders|httprequest_setmethod|httprequest_setoptions|httprequest_setpostfields|httprequest_setpostfiles|httprequest_setputdata|httprequest_setputfile|httprequest_setquerydata|httprequest_setrawpostdata|httprequest_setssloptions|httprequest_seturl|httprequestpool|httprequestpool_attach|httprequestpool_construct|httprequestpool_destruct|httprequestpool_detach|httprequestpool_getattachedrequests|httprequestpool_getfinishedrequests|httprequestpool_reset|httprequestpool_send|httprequestpool_socketperform|httprequestpool_socketselect|httpresponse|httpresponse_capture|httpresponse_getbuffersize|httpresponse_getcache|httpresponse_getcachecontrol|httpresponse_getcontentdisposition|httpresponse_getcontenttype|httpresponse_getdata|httpresponse_getetag|httpresponse_getfile|httpresponse_getgzip|httpresponse_getheader|httpresponse_getlastmodified|httpresponse_getrequestbody|httpresponse_getrequestbodystream|httpresponse_getrequestheaders|httpresponse_getstream|httpresponse_getthrottledelay|httpresponse_guesscontenttype|httpresponse_redirect|httpresponse_send|httpresponse_setbuffersize|httpresponse_setcache|httpresponse_setcachecontrol|httpresponse_setcontentdisposition|httpresponse_setcontenttype|httpresponse_setdata|httpresponse_setetag|httpresponse_setfile|httpresponse_setgzip|httpresponse_setheader|httpresponse_setlastmodified|httpresponse_setstream|httpresponse_setthrottledelay|httpresponse_status|hw_array2objrec|hw_changeobject|hw_children|hw_childrenobj|hw_close|hw_connect|hw_connection_info|hw_cp|hw_deleteobject|hw_docbyanchor|hw_docbyanchorobj|hw_document_attributes|hw_document_bodytag|hw_document_content|hw_document_setcontent|hw_document_size|hw_dummy|hw_edittext|hw_error|hw_errormsg|hw_free_document|hw_getanchors|hw_getanchorsobj|hw_getandlock|hw_getchildcoll|hw_getchildcollobj|hw_getchilddoccoll|hw_getchilddoccollobj|hw_getobject|hw_getobjectbyquery|hw_getobjectbyquerycoll|hw_getobjectbyquerycollobj|hw_getobjectbyqueryobj|hw_getparents|hw_getparentsobj|hw_getrellink|hw_getremote|hw_getremotechildren|hw_getsrcbydestobj|hw_gettext|hw_getusername|hw_identify|hw_incollections|hw_info|hw_inscoll|hw_insdoc|hw_insertanchors|hw_insertdocument|hw_insertobject|hw_mapid|hw_modifyobject|hw_mv|hw_new_document|hw_objrec2array|hw_output_document|hw_pconnect|hw_pipedocument|hw_root|hw_setlinkroot|hw_stat|hw_unlock|hw_who|hwapi_attribute|hwapi_attribute_key|hwapi_attribute_langdepvalue|hwapi_attribute_value|hwapi_attribute_values|hwapi_checkin|hwapi_checkout|hwapi_children|hwapi_content|hwapi_content_mimetype|hwapi_content_read|hwapi_copy|hwapi_dbstat|hwapi_dcstat|hwapi_dstanchors|hwapi_dstofsrcanchor|hwapi_error_count|hwapi_error_reason|hwapi_find|hwapi_ftstat|hwapi_hgcsp|hwapi_hwstat|hwapi_identify|hwapi_info|hwapi_insert|hwapi_insertanchor|hwapi_insertcollection|hwapi_insertdocument|hwapi_link|hwapi_lock|hwapi_move|hwapi_new_content|hwapi_object|hwapi_object_assign|hwapi_object_attreditable|hwapi_object_count|hwapi_object_insert|hwapi_object_new|hwapi_object_remove|hwapi_object_title|hwapi_object_value|hwapi_objectbyanchor|hwapi_parents|hwapi_reason_description|hwapi_reason_type|hwapi_remove|hwapi_replace|hwapi_setcommittedversion|hwapi_srcanchors|hwapi_srcsofdst|hwapi_unlock|hwapi_user|hwapi_userlist|hypot|ibase_add_user|ibase_affected_rows|ibase_backup|ibase_blob_add|ibase_blob_cancel|ibase_blob_close|ibase_blob_create|ibase_blob_echo|ibase_blob_get|ibase_blob_import|ibase_blob_info|ibase_blob_open|ibase_close|ibase_commit|ibase_commit_ret|ibase_connect|ibase_db_info|ibase_delete_user|ibase_drop_db|ibase_errcode|ibase_errmsg|ibase_execute|ibase_fetch_assoc|ibase_fetch_object|ibase_fetch_row|ibase_field_info|ibase_free_event_handler|ibase_free_query|ibase_free_result|ibase_gen_id|ibase_maintain_db|ibase_modify_user|ibase_name_result|ibase_num_fields|ibase_num_params|ibase_param_info|ibase_pconnect|ibase_prepare|ibase_query|ibase_restore|ibase_rollback|ibase_rollback_ret|ibase_server_info|ibase_service_attach|ibase_service_detach|ibase_set_event_handler|ibase_timefmt|ibase_trans|ibase_wait_event|iconv|iconv_get_encoding|iconv_mime_decode|iconv_mime_decode_headers|iconv_mime_encode|iconv_set_encoding|iconv_strlen|iconv_strpos|iconv_strrpos|iconv_substr|id3_get_frame_long_name|id3_get_frame_short_name|id3_get_genre_id|id3_get_genre_list|id3_get_genre_name|id3_get_tag|id3_get_version|id3_remove_tag|id3_set_tag|id3v2attachedpictureframe|id3v2frame|id3v2tag|idate|idn_to_ascii|idn_to_unicode|idn_to_utf8|ifx_affected_rows|ifx_blobinfile_mode|ifx_byteasvarchar|ifx_close|ifx_connect|ifx_copy_blob|ifx_create_blob|ifx_create_char|ifx_do|ifx_error|ifx_errormsg|ifx_fetch_row|ifx_fieldproperties|ifx_fieldtypes|ifx_free_blob|ifx_free_char|ifx_free_result|ifx_get_blob|ifx_get_char|ifx_getsqlca|ifx_htmltbl_result|ifx_nullformat|ifx_num_fields|ifx_num_rows|ifx_pconnect|ifx_prepare|ifx_query|ifx_textasvarchar|ifx_update_blob|ifx_update_char|ifxus_close_slob|ifxus_create_slob|ifxus_free_slob|ifxus_open_slob|ifxus_read_slob|ifxus_seek_slob|ifxus_tell_slob|ifxus_write_slob|ignore_user_abort|iis_add_server|iis_get_dir_security|iis_get_script_map|iis_get_server_by_comment|iis_get_server_by_path|iis_get_server_rights|iis_get_service_state|iis_remove_server|iis_set_app_settings|iis_set_dir_security|iis_set_script_map|iis_set_server_rights|iis_start_server|iis_start_service|iis_stop_server|iis_stop_service|image2wbmp|image_type_to_extension|image_type_to_mime_type|imagealphablending|imageantialias|imagearc|imagechar|imagecharup|imagecolorallocate|imagecolorallocatealpha|imagecolorat|imagecolorclosest|imagecolorclosestalpha|imagecolorclosesthwb|imagecolordeallocate|imagecolorexact|imagecolorexactalpha|imagecolormatch|imagecolorresolve|imagecolorresolvealpha|imagecolorset|imagecolorsforindex|imagecolorstotal|imagecolortransparent|imageconvolution|imagecopy|imagecopymerge|imagecopymergegray|imagecopyresampled|imagecopyresized|imagecreate|imagecreatefromgd|imagecreatefromgd2|imagecreatefromgd2part|imagecreatefromgif|imagecreatefromjpeg|imagecreatefrompng|imagecreatefromstring|imagecreatefromwbmp|imagecreatefromxbm|imagecreatefromxpm|imagecreatetruecolor|imagedashedline|imagedestroy|imageellipse|imagefill|imagefilledarc|imagefilledellipse|imagefilledpolygon|imagefilledrectangle|imagefilltoborder|imagefilter|imagefontheight|imagefontwidth|imageftbbox|imagefttext|imagegammacorrect|imagegd|imagegd2|imagegif|imagegrabscreen|imagegrabwindow|imageinterlace|imageistruecolor|imagejpeg|imagelayereffect|imageline|imageloadfont|imagepalettecopy|imagepng|imagepolygon|imagepsbbox|imagepsencodefont|imagepsextendfont|imagepsfreefont|imagepsloadfont|imagepsslantfont|imagepstext|imagerectangle|imagerotate|imagesavealpha|imagesetbrush|imagesetpixel|imagesetstyle|imagesetthickness|imagesettile|imagestring|imagestringup|imagesx|imagesy|imagetruecolortopalette|imagettfbbox|imagettftext|imagetypes|imagewbmp|imagexbm|imagick|imagick_adaptiveblurimage|imagick_adaptiveresizeimage|imagick_adaptivesharpenimage|imagick_adaptivethresholdimage|imagick_addimage|imagick_addnoiseimage|imagick_affinetransformimage|imagick_animateimages|imagick_annotateimage|imagick_appendimages|imagick_averageimages|imagick_blackthresholdimage|imagick_blurimage|imagick_borderimage|imagick_charcoalimage|imagick_chopimage|imagick_clear|imagick_clipimage|imagick_clippathimage|imagick_clone|imagick_clutimage|imagick_coalesceimages|imagick_colorfloodfillimage|imagick_colorizeimage|imagick_combineimages|imagick_commentimage|imagick_compareimagechannels|imagick_compareimagelayers|imagick_compareimages|imagick_compositeimage|imagick_construct|imagick_contrastimage|imagick_contraststretchimage|imagick_convolveimage|imagick_cropimage|imagick_cropthumbnailimage|imagick_current|imagick_cyclecolormapimage|imagick_decipherimage|imagick_deconstructimages|imagick_deleteimageartifact|imagick_despeckleimage|imagick_destroy|imagick_displayimage|imagick_displayimages|imagick_distortimage|imagick_drawimage|imagick_edgeimage|imagick_embossimage|imagick_encipherimage|imagick_enhanceimage|imagick_equalizeimage|imagick_evaluateimage|imagick_extentimage|imagick_flattenimages|imagick_flipimage|imagick_floodfillpaintimage|imagick_flopimage|imagick_frameimage|imagick_fximage|imagick_gammaimage|imagick_gaussianblurimage|imagick_getcolorspace|imagick_getcompression|imagick_getcompressionquality|imagick_getcopyright|imagick_getfilename|imagick_getfont|imagick_getformat|imagick_getgravity|imagick_gethomeurl|imagick_getimage|imagick_getimagealphachannel|imagick_getimageartifact|imagick_getimagebackgroundcolor|imagick_getimageblob|imagick_getimageblueprimary|imagick_getimagebordercolor|imagick_getimagechanneldepth|imagick_getimagechanneldistortion|imagick_getimagechanneldistortions|imagick_getimagechannelextrema|imagick_getimagechannelmean|imagick_getimagechannelrange|imagick_getimagechannelstatistics|imagick_getimageclipmask|imagick_getimagecolormapcolor|imagick_getimagecolors|imagick_getimagecolorspace|imagick_getimagecompose|imagick_getimagecompression|imagick_getimagecompressionquality|imagick_getimagedelay|imagick_getimagedepth|imagick_getimagedispose|imagick_getimagedistortion|imagick_getimageextrema|imagick_getimagefilename|imagick_getimageformat|imagick_getimagegamma|imagick_getimagegeometry|imagick_getimagegravity|imagick_getimagegreenprimary|imagick_getimageheight|imagick_getimagehistogram|imagick_getimageindex|imagick_getimageinterlacescheme|imagick_getimageinterpolatemethod|imagick_getimageiterations|imagick_getimagelength|imagick_getimagemagicklicense|imagick_getimagematte|imagick_getimagemattecolor|imagick_getimageorientation|imagick_getimagepage|imagick_getimagepixelcolor|imagick_getimageprofile|imagick_getimageprofiles|imagick_getimageproperties|imagick_getimageproperty|imagick_getimageredprimary|imagick_getimageregion|imagick_getimagerenderingintent|imagick_getimageresolution|imagick_getimagesblob|imagick_getimagescene|imagick_getimagesignature|imagick_getimagesize|imagick_getimagetickspersecond|imagick_getimagetotalinkdensity|imagick_getimagetype|imagick_getimageunits|imagick_getimagevirtualpixelmethod|imagick_getimagewhitepoint|imagick_getimagewidth|imagick_getinterlacescheme|imagick_getiteratorindex|imagick_getnumberimages|imagick_getoption|imagick_getpackagename|imagick_getpage|imagick_getpixeliterator|imagick_getpixelregioniterator|imagick_getpointsize|imagick_getquantumdepth|imagick_getquantumrange|imagick_getreleasedate|imagick_getresource|imagick_getresourcelimit|imagick_getsamplingfactors|imagick_getsize|imagick_getsizeoffset|imagick_getversion|imagick_hasnextimage|imagick_haspreviousimage|imagick_identifyimage|imagick_implodeimage|imagick_labelimage|imagick_levelimage|imagick_linearstretchimage|imagick_liquidrescaleimage|imagick_magnifyimage|imagick_mapimage|imagick_mattefloodfillimage|imagick_medianfilterimage|imagick_mergeimagelayers|imagick_minifyimage|imagick_modulateimage|imagick_montageimage|imagick_morphimages|imagick_mosaicimages|imagick_motionblurimage|imagick_negateimage|imagick_newimage|imagick_newpseudoimage|imagick_nextimage|imagick_normalizeimage|imagick_oilpaintimage|imagick_opaquepaintimage|imagick_optimizeimagelayers|imagick_orderedposterizeimage|imagick_paintfloodfillimage|imagick_paintopaqueimage|imagick_painttransparentimage|imagick_pingimage|imagick_pingimageblob|imagick_pingimagefile|imagick_polaroidimage|imagick_posterizeimage|imagick_previewimages|imagick_previousimage|imagick_profileimage|imagick_quantizeimage|imagick_quantizeimages|imagick_queryfontmetrics|imagick_queryfonts|imagick_queryformats|imagick_radialblurimage|imagick_raiseimage|imagick_randomthresholdimage|imagick_readimage|imagick_readimageblob|imagick_readimagefile|imagick_recolorimage|imagick_reducenoiseimage|imagick_removeimage|imagick_removeimageprofile|imagick_render|imagick_resampleimage|imagick_resetimagepage|imagick_resizeimage|imagick_rollimage|imagick_rotateimage|imagick_roundcorners|imagick_sampleimage|imagick_scaleimage|imagick_separateimagechannel|imagick_sepiatoneimage|imagick_setbackgroundcolor|imagick_setcolorspace|imagick_setcompression|imagick_setcompressionquality|imagick_setfilename|imagick_setfirstiterator|imagick_setfont|imagick_setformat|imagick_setgravity|imagick_setimage|imagick_setimagealphachannel|imagick_setimageartifact|imagick_setimagebackgroundcolor|imagick_setimagebias|imagick_setimageblueprimary|imagick_setimagebordercolor|imagick_setimagechanneldepth|imagick_setimageclipmask|imagick_setimagecolormapcolor|imagick_setimagecolorspace|imagick_setimagecompose|imagick_setimagecompression|imagick_setimagecompressionquality|imagick_setimagedelay|imagick_setimagedepth|imagick_setimagedispose|imagick_setimageextent|imagick_setimagefilename|imagick_setimageformat|imagick_setimagegamma|imagick_setimagegravity|imagick_setimagegreenprimary|imagick_setimageindex|imagick_setimageinterlacescheme|imagick_setimageinterpolatemethod|imagick_setimageiterations|imagick_setimagematte|imagick_setimagemattecolor|imagick_setimageopacity|imagick_setimageorientation|imagick_setimagepage|imagick_setimageprofile|imagick_setimageproperty|imagick_setimageredprimary|imagick_setimagerenderingintent|imagick_setimageresolution|imagick_setimagescene|imagick_setimagetickspersecond|imagick_setimagetype|imagick_setimageunits|imagick_setimagevirtualpixelmethod|imagick_setimagewhitepoint|imagick_setinterlacescheme|imagick_setiteratorindex|imagick_setlastiterator|imagick_setoption|imagick_setpage|imagick_setpointsize|imagick_setresolution|imagick_setresourcelimit|imagick_setsamplingfactors|imagick_setsize|imagick_setsizeoffset|imagick_settype|imagick_shadeimage|imagick_shadowimage|imagick_sharpenimage|imagick_shaveimage|imagick_shearimage|imagick_sigmoidalcontrastimage|imagick_sketchimage|imagick_solarizeimage|imagick_spliceimage|imagick_spreadimage|imagick_steganoimage|imagick_stereoimage|imagick_stripimage|imagick_swirlimage|imagick_textureimage|imagick_thresholdimage|imagick_thumbnailimage|imagick_tintimage|imagick_transformimage|imagick_transparentpaintimage|imagick_transposeimage|imagick_transverseimage|imagick_trimimage|imagick_uniqueimagecolors|imagick_unsharpmaskimage|imagick_valid|imagick_vignetteimage|imagick_waveimage|imagick_whitethresholdimage|imagick_writeimage|imagick_writeimagefile|imagick_writeimages|imagick_writeimagesfile|imagickdraw|imagickdraw_affine|imagickdraw_annotation|imagickdraw_arc|imagickdraw_bezier|imagickdraw_circle|imagickdraw_clear|imagickdraw_clone|imagickdraw_color|imagickdraw_comment|imagickdraw_composite|imagickdraw_construct|imagickdraw_destroy|imagickdraw_ellipse|imagickdraw_getclippath|imagickdraw_getcliprule|imagickdraw_getclipunits|imagickdraw_getfillcolor|imagickdraw_getfillopacity|imagickdraw_getfillrule|imagickdraw_getfont|imagickdraw_getfontfamily|imagickdraw_getfontsize|imagickdraw_getfontstyle|imagickdraw_getfontweight|imagickdraw_getgravity|imagickdraw_getstrokeantialias|imagickdraw_getstrokecolor|imagickdraw_getstrokedasharray|imagickdraw_getstrokedashoffset|imagickdraw_getstrokelinecap|imagickdraw_getstrokelinejoin|imagickdraw_getstrokemiterlimit|imagickdraw_getstrokeopacity|imagickdraw_getstrokewidth|imagickdraw_gettextalignment|imagickdraw_gettextantialias|imagickdraw_gettextdecoration|imagickdraw_gettextencoding|imagickdraw_gettextundercolor|imagickdraw_getvectorgraphics|imagickdraw_line|imagickdraw_matte|imagickdraw_pathclose|imagickdraw_pathcurvetoabsolute|imagickdraw_pathcurvetoquadraticbezierabsolute|imagickdraw_pathcurvetoquadraticbezierrelative|imagickdraw_pathcurvetoquadraticbeziersmoothabsolute|imagickdraw_pathcurvetoquadraticbeziersmoothrelative|imagickdraw_pathcurvetorelative|imagickdraw_pathcurvetosmoothabsolute|imagickdraw_pathcurvetosmoothrelative|imagickdraw_pathellipticarcabsolute|imagickdraw_pathellipticarcrelative|imagickdraw_pathfinish|imagickdraw_pathlinetoabsolute|imagickdraw_pathlinetohorizontalabsolute|imagickdraw_pathlinetohorizontalrelative|imagickdraw_pathlinetorelative|imagickdraw_pathlinetoverticalabsolute|imagickdraw_pathlinetoverticalrelative|imagickdraw_pathmovetoabsolute|imagickdraw_pathmovetorelative|imagickdraw_pathstart|imagickdraw_point|imagickdraw_polygon|imagickdraw_polyline|imagickdraw_pop|imagickdraw_popclippath|imagickdraw_popdefs|imagickdraw_poppattern|imagickdraw_push|imagickdraw_pushclippath|imagickdraw_pushdefs|imagickdraw_pushpattern|imagickdraw_rectangle|imagickdraw_render|imagickdraw_rotate|imagickdraw_roundrectangle|imagickdraw_scale|imagickdraw_setclippath|imagickdraw_setcliprule|imagickdraw_setclipunits|imagickdraw_setfillalpha|imagickdraw_setfillcolor|imagickdraw_setfillopacity|imagickdraw_setfillpatternurl|imagickdraw_setfillrule|imagickdraw_setfont|imagickdraw_setfontfamily|imagickdraw_setfontsize|imagickdraw_setfontstretch|imagickdraw_setfontstyle|imagickdraw_setfontweight|imagickdraw_setgravity|imagickdraw_setstrokealpha|imagickdraw_setstrokeantialias|imagickdraw_setstrokecolor|imagickdraw_setstrokedasharray|imagickdraw_setstrokedashoffset|imagickdraw_setstrokelinecap|imagickdraw_setstrokelinejoin|imagickdraw_setstrokemiterlimit|imagickdraw_setstrokeopacity|imagickdraw_setstrokepatternurl|imagickdraw_setstrokewidth|imagickdraw_settextalignment|imagickdraw_settextantialias|imagickdraw_settextdecoration|imagickdraw_settextencoding|imagickdraw_settextundercolor|imagickdraw_setvectorgraphics|imagickdraw_setviewbox|imagickdraw_skewx|imagickdraw_skewy|imagickdraw_translate|imagickpixel|imagickpixel_clear|imagickpixel_construct|imagickpixel_destroy|imagickpixel_getcolor|imagickpixel_getcolorasstring|imagickpixel_getcolorcount|imagickpixel_getcolorvalue|imagickpixel_gethsl|imagickpixel_issimilar|imagickpixel_setcolor|imagickpixel_setcolorvalue|imagickpixel_sethsl|imagickpixeliterator|imagickpixeliterator_clear|imagickpixeliterator_construct|imagickpixeliterator_destroy|imagickpixeliterator_getcurrentiteratorrow|imagickpixeliterator_getiteratorrow|imagickpixeliterator_getnextiteratorrow|imagickpixeliterator_getpreviousiteratorrow|imagickpixeliterator_newpixeliterator|imagickpixeliterator_newpixelregioniterator|imagickpixeliterator_resetiterator|imagickpixeliterator_setiteratorfirstrow|imagickpixeliterator_setiteratorlastrow|imagickpixeliterator_setiteratorrow|imagickpixeliterator_synciterator|imap_8bit|imap_alerts|imap_append|imap_base64|imap_binary|imap_body|imap_bodystruct|imap_check|imap_clearflag_full|imap_close|imap_create|imap_createmailbox|imap_delete|imap_deletemailbox|imap_errors|imap_expunge|imap_fetch_overview|imap_fetchbody|imap_fetchheader|imap_fetchmime|imap_fetchstructure|imap_fetchtext|imap_gc|imap_get_quota|imap_get_quotaroot|imap_getacl|imap_getmailboxes|imap_getsubscribed|imap_header|imap_headerinfo|imap_headers|imap_last_error|imap_list|imap_listmailbox|imap_listscan|imap_listsubscribed|imap_lsub|imap_mail|imap_mail_compose|imap_mail_copy|imap_mail_move|imap_mailboxmsginfo|imap_mime_header_decode|imap_msgno|imap_num_msg|imap_num_recent|imap_open|imap_ping|imap_qprint|imap_rename|imap_renamemailbox|imap_reopen|imap_rfc822_parse_adrlist|imap_rfc822_parse_headers|imap_rfc822_write_address|imap_savebody|imap_scan|imap_scanmailbox|imap_search|imap_set_quota|imap_setacl|imap_setflag_full|imap_sort|imap_status|imap_subscribe|imap_thread|imap_timeout|imap_uid|imap_undelete|imap_unsubscribe|imap_utf7_decode|imap_utf7_encode|imap_utf8|implementsinterface|implode|import_request_variables|in_array|include|include_once|inclued_get_data|inet_ntop|inet_pton|infiniteiterator|ingres_autocommit|ingres_autocommit_state|ingres_charset|ingres_close|ingres_commit|ingres_connect|ingres_cursor|ingres_errno|ingres_error|ingres_errsqlstate|ingres_escape_string|ingres_execute|ingres_fetch_array|ingres_fetch_assoc|ingres_fetch_object|ingres_fetch_proc_return|ingres_fetch_row|ingres_field_length|ingres_field_name|ingres_field_nullable|ingres_field_precision|ingres_field_scale|ingres_field_type|ingres_free_result|ingres_next_error|ingres_num_fields|ingres_num_rows|ingres_pconnect|ingres_prepare|ingres_query|ingres_result_seek|ingres_rollback|ingres_set_environment|ingres_unbuffered_query|ini_alter|ini_get|ini_get_all|ini_restore|ini_set|innamespace|inotify_add_watch|inotify_init|inotify_queue_len|inotify_read|inotify_rm_watch|interface_exists|intl_error_name|intl_get_error_code|intl_get_error_message|intl_is_failure|intldateformatter|intval|invalidargumentexception|invoke|invokeargs|ip2long|iptcembed|iptcparse|is_a|is_array|is_bool|is_callable|is_dir|is_double|is_executable|is_file|is_finite|is_float|is_infinite|is_int|is_integer|is_link|is_long|is_nan|is_null|is_numeric|is_object|is_readable|is_real|is_resource|is_scalar|is_soap_fault|is_string|is_subclass_of|is_uploaded_file|is_writable|is_writeable|isabstract|iscloneable|isdisabled|isfinal|isinstance|isinstantiable|isinterface|isinternal|isiterateable|isset|issubclassof|isuserdefined|iterator|iterator_apply|iterator_count|iterator_to_array|iteratoraggregate|iteratoriterator|java_last_exception_clear|java_last_exception_get|jddayofweek|jdmonthname|jdtofrench|jdtogregorian|jdtojewish|jdtojulian|jdtounix|jewishtojd|join|jpeg2wbmp|json_decode|json_encode|json_last_error|jsonserializable|judy|judy_type|judy_version|juliantojd|kadm5_chpass_principal|kadm5_create_principal|kadm5_delete_principal|kadm5_destroy|kadm5_flush|kadm5_get_policies|kadm5_get_principal|kadm5_get_principals|kadm5_init_with_password|kadm5_modify_principal|key|krsort|ksort|lcfirst|lcg_value|lchgrp|lchown|ldap_8859_to_t61|ldap_add|ldap_bind|ldap_close|ldap_compare|ldap_connect|ldap_count_entries|ldap_delete|ldap_dn2ufn|ldap_err2str|ldap_errno|ldap_error|ldap_explode_dn|ldap_first_attribute|ldap_first_entry|ldap_first_reference|ldap_free_result|ldap_get_attributes|ldap_get_dn|ldap_get_entries|ldap_get_option|ldap_get_values|ldap_get_values_len|ldap_list|ldap_mod_add|ldap_mod_del|ldap_mod_replace|ldap_modify|ldap_next_attribute|ldap_next_entry|ldap_next_reference|ldap_parse_reference|ldap_parse_result|ldap_read|ldap_rename|ldap_sasl_bind|ldap_search|ldap_set_option|ldap_set_rebind_proc|ldap_sort|ldap_start_tls|ldap_t61_to_8859|ldap_unbind|lengthexception|levenshtein|libxml_clear_errors|libxml_disable_entity_loader|libxml_get_errors|libxml_get_last_error|libxml_set_streams_context|libxml_use_internal_errors|libxmlerror|limititerator|link|linkinfo|list|locale|localeconv|localtime|log|log10|log1p|logicexception|long2ip|lstat|ltrim|lzf_compress|lzf_decompress|lzf_optimized_for|m_checkstatus|m_completeauthorizations|m_connect|m_connectionerror|m_deletetrans|m_destroyconn|m_destroyengine|m_getcell|m_getcellbynum|m_getcommadelimited|m_getheader|m_initconn|m_initengine|m_iscommadelimited|m_maxconntimeout|m_monitor|m_numcolumns|m_numrows|m_parsecommadelimited|m_responsekeys|m_responseparam|m_returnstatus|m_setblocking|m_setdropfile|m_setip|m_setssl|m_setssl_cafile|m_setssl_files|m_settimeout|m_sslcert_gen_hash|m_transactionssent|m_transinqueue|m_transkeyval|m_transnew|m_transsend|m_uwait|m_validateidentifier|m_verifyconnection|m_verifysslcert|magic_quotes_runtime|mail|mailparse_determine_best_xfer_encoding|mailparse_msg_create|mailparse_msg_extract_part|mailparse_msg_extract_part_file|mailparse_msg_extract_whole_part_file|mailparse_msg_free|mailparse_msg_get_part|mailparse_msg_get_part_data|mailparse_msg_get_structure|mailparse_msg_parse|mailparse_msg_parse_file|mailparse_rfc822_parse_addresses|mailparse_stream_encode|mailparse_uudecode_all|main|max|maxdb_affected_rows|maxdb_autocommit|maxdb_bind_param|maxdb_bind_result|maxdb_change_user|maxdb_character_set_name|maxdb_client_encoding|maxdb_close|maxdb_close_long_data|maxdb_commit|maxdb_connect|maxdb_connect_errno|maxdb_connect_error|maxdb_data_seek|maxdb_debug|maxdb_disable_reads_from_master|maxdb_disable_rpl_parse|maxdb_dump_debug_info|maxdb_embedded_connect|maxdb_enable_reads_from_master|maxdb_enable_rpl_parse|maxdb_errno|maxdb_error|maxdb_escape_string|maxdb_execute|maxdb_fetch|maxdb_fetch_array|maxdb_fetch_assoc|maxdb_fetch_field|maxdb_fetch_field_direct|maxdb_fetch_fields|maxdb_fetch_lengths|maxdb_fetch_object|maxdb_fetch_row|maxdb_field_count|maxdb_field_seek|maxdb_field_tell|maxdb_free_result|maxdb_get_client_info|maxdb_get_client_version|maxdb_get_host_info|maxdb_get_metadata|maxdb_get_proto_info|maxdb_get_server_info|maxdb_get_server_version|maxdb_info|maxdb_init|maxdb_insert_id|maxdb_kill|maxdb_master_query|maxdb_more_results|maxdb_multi_query|maxdb_next_result|maxdb_num_fields|maxdb_num_rows|maxdb_options|maxdb_param_count|maxdb_ping|maxdb_prepare|maxdb_query|maxdb_real_connect|maxdb_real_escape_string|maxdb_real_query|maxdb_report|maxdb_rollback|maxdb_rpl_parse_enabled|maxdb_rpl_probe|maxdb_rpl_query_type|maxdb_select_db|maxdb_send_long_data|maxdb_send_query|maxdb_server_end|maxdb_server_init|maxdb_set_opt|maxdb_sqlstate|maxdb_ssl_set|maxdb_stat|maxdb_stmt_affected_rows|maxdb_stmt_bind_param|maxdb_stmt_bind_result|maxdb_stmt_close|maxdb_stmt_close_long_data|maxdb_stmt_data_seek|maxdb_stmt_errno|maxdb_stmt_error|maxdb_stmt_execute|maxdb_stmt_fetch|maxdb_stmt_free_result|maxdb_stmt_init|maxdb_stmt_num_rows|maxdb_stmt_param_count|maxdb_stmt_prepare|maxdb_stmt_reset|maxdb_stmt_result_metadata|maxdb_stmt_send_long_data|maxdb_stmt_sqlstate|maxdb_stmt_store_result|maxdb_store_result|maxdb_thread_id|maxdb_thread_safe|maxdb_use_result|maxdb_warning_count|mb_check_encoding|mb_convert_case|mb_convert_encoding|mb_convert_kana|mb_convert_variables|mb_decode_mimeheader|mb_decode_numericentity|mb_detect_encoding|mb_detect_order|mb_encode_mimeheader|mb_encode_numericentity|mb_encoding_aliases|mb_ereg|mb_ereg_match|mb_ereg_replace|mb_ereg_search|mb_ereg_search_getpos|mb_ereg_search_getregs|mb_ereg_search_init|mb_ereg_search_pos|mb_ereg_search_regs|mb_ereg_search_setpos|mb_eregi|mb_eregi_replace|mb_get_info|mb_http_input|mb_http_output|mb_internal_encoding|mb_language|mb_list_encodings|mb_output_handler|mb_parse_str|mb_preferred_mime_name|mb_regex_encoding|mb_regex_set_options|mb_send_mail|mb_split|mb_strcut|mb_strimwidth|mb_stripos|mb_stristr|mb_strlen|mb_strpos|mb_strrchr|mb_strrichr|mb_strripos|mb_strrpos|mb_strstr|mb_strtolower|mb_strtoupper|mb_strwidth|mb_substitute_character|mb_substr|mb_substr_count|mcrypt_cbc|mcrypt_cfb|mcrypt_create_iv|mcrypt_decrypt|mcrypt_ecb|mcrypt_enc_get_algorithms_name|mcrypt_enc_get_block_size|mcrypt_enc_get_iv_size|mcrypt_enc_get_key_size|mcrypt_enc_get_modes_name|mcrypt_enc_get_supported_key_sizes|mcrypt_enc_is_block_algorithm|mcrypt_enc_is_block_algorithm_mode|mcrypt_enc_is_block_mode|mcrypt_enc_self_test|mcrypt_encrypt|mcrypt_generic|mcrypt_generic_deinit|mcrypt_generic_end|mcrypt_generic_init|mcrypt_get_block_size|mcrypt_get_cipher_name|mcrypt_get_iv_size|mcrypt_get_key_size|mcrypt_list_algorithms|mcrypt_list_modes|mcrypt_module_close|mcrypt_module_get_algo_block_size|mcrypt_module_get_algo_key_size|mcrypt_module_get_supported_key_sizes|mcrypt_module_is_block_algorithm|mcrypt_module_is_block_algorithm_mode|mcrypt_module_is_block_mode|mcrypt_module_open|mcrypt_module_self_test|mcrypt_ofb|md5|md5_file|mdecrypt_generic|memcache|memcache_debug|memcached|memory_get_peak_usage|memory_get_usage|messageformatter|metaphone|method_exists|mhash|mhash_count|mhash_get_block_size|mhash_get_hash_name|mhash_keygen_s2k|microtime|mime_content_type|min|ming_keypress|ming_setcubicthreshold|ming_setscale|ming_setswfcompression|ming_useconstants|ming_useswfversion|mkdir|mktime|money_format|mongo|mongobindata|mongocode|mongocollection|mongoconnectionexception|mongocursor|mongocursorexception|mongocursortimeoutexception|mongodate|mongodb|mongodbref|mongoexception|mongogridfs|mongogridfscursor|mongogridfsexception|mongogridfsfile|mongoid|mongoint32|mongoint64|mongomaxkey|mongominkey|mongoregex|mongotimestamp|move_uploaded_file|mpegfile|mqseries_back|mqseries_begin|mqseries_close|mqseries_cmit|mqseries_conn|mqseries_connx|mqseries_disc|mqseries_get|mqseries_inq|mqseries_open|mqseries_put|mqseries_put1|mqseries_set|mqseries_strerror|msession_connect|msession_count|msession_create|msession_destroy|msession_disconnect|msession_find|msession_get|msession_get_array|msession_get_data|msession_inc|msession_list|msession_listvar|msession_lock|msession_plugin|msession_randstr|msession_set|msession_set_array|msession_set_data|msession_timeout|msession_uniq|msession_unlock|msg_get_queue|msg_queue_exists|msg_receive|msg_remove_queue|msg_send|msg_set_queue|msg_stat_queue|msql|msql_affected_rows|msql_close|msql_connect|msql_create_db|msql_createdb|msql_data_seek|msql_db_query|msql_dbname|msql_drop_db|msql_error|msql_fetch_array|msql_fetch_field|msql_fetch_object|msql_fetch_row|msql_field_flags|msql_field_len|msql_field_name|msql_field_seek|msql_field_table|msql_field_type|msql_fieldflags|msql_fieldlen|msql_fieldname|msql_fieldtable|msql_fieldtype|msql_free_result|msql_list_dbs|msql_list_fields|msql_list_tables|msql_num_fields|msql_num_rows|msql_numfields|msql_numrows|msql_pconnect|msql_query|msql_regcase|msql_result|msql_select_db|msql_tablename|mssql_bind|mssql_close|mssql_connect|mssql_data_seek|mssql_execute|mssql_fetch_array|mssql_fetch_assoc|mssql_fetch_batch|mssql_fetch_field|mssql_fetch_object|mssql_fetch_row|mssql_field_length|mssql_field_name|mssql_field_seek|mssql_field_type|mssql_free_result|mssql_free_statement|mssql_get_last_message|mssql_guid_string|mssql_init|mssql_min_error_severity|mssql_min_message_severity|mssql_next_result|mssql_num_fields|mssql_num_rows|mssql_pconnect|mssql_query|mssql_result|mssql_rows_affected|mssql_select_db|mt_getrandmax|mt_rand|mt_srand|multipleiterator|mysql_affected_rows|mysql_client_encoding|mysql_close|mysql_connect|mysql_create_db|mysql_data_seek|mysql_db_name|mysql_db_query|mysql_drop_db|mysql_errno|mysql_error|mysql_escape_string|mysql_fetch_array|mysql_fetch_assoc|mysql_fetch_field|mysql_fetch_lengths|mysql_fetch_object|mysql_fetch_row|mysql_field_flags|mysql_field_len|mysql_field_name|mysql_field_seek|mysql_field_table|mysql_field_type|mysql_free_result|mysql_get_client_info|mysql_get_host_info|mysql_get_proto_info|mysql_get_server_info|mysql_info|mysql_insert_id|mysql_list_dbs|mysql_list_fields|mysql_list_processes|mysql_list_tables|mysql_num_fields|mysql_num_rows|mysql_pconnect|mysql_ping|mysql_query|mysql_real_escape_string|mysql_result|mysql_select_db|mysql_set_charset|mysql_stat|mysql_tablename|mysql_thread_id|mysql_unbuffered_query|mysqli|mysqli_bind_param|mysqli_bind_result|mysqli_client_encoding|mysqli_connect|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_driver|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_escape_string|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_report|mysqli_result|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_set_opt|mysqli_slave_query|mysqli_stmt|mysqli_warning|mysqlnd_ms_get_stats|mysqlnd_ms_query_is_select|mysqlnd_ms_set_user_pick_server|mysqlnd_qc_change_handler|mysqlnd_qc_clear_cache|mysqlnd_qc_get_cache_info|mysqlnd_qc_get_core_stats|mysqlnd_qc_get_handler|mysqlnd_qc_get_query_trace_log|mysqlnd_qc_set_user_handlers|natcasesort|natsort|ncurses_addch|ncurses_addchnstr|ncurses_addchstr|ncurses_addnstr|ncurses_addstr|ncurses_assume_default_colors|ncurses_attroff|ncurses_attron|ncurses_attrset|ncurses_baudrate|ncurses_beep|ncurses_bkgd|ncurses_bkgdset|ncurses_border|ncurses_bottom_panel|ncurses_can_change_color|ncurses_cbreak|ncurses_clear|ncurses_clrtobot|ncurses_clrtoeol|ncurses_color_content|ncurses_color_set|ncurses_curs_set|ncurses_def_prog_mode|ncurses_def_shell_mode|ncurses_define_key|ncurses_del_panel|ncurses_delay_output|ncurses_delch|ncurses_deleteln|ncurses_delwin|ncurses_doupdate|ncurses_echo|ncurses_echochar|ncurses_end|ncurses_erase|ncurses_erasechar|ncurses_filter|ncurses_flash|ncurses_flushinp|ncurses_getch|ncurses_getmaxyx|ncurses_getmouse|ncurses_getyx|ncurses_halfdelay|ncurses_has_colors|ncurses_has_ic|ncurses_has_il|ncurses_has_key|ncurses_hide_panel|ncurses_hline|ncurses_inch|ncurses_init|ncurses_init_color|ncurses_init_pair|ncurses_insch|ncurses_insdelln|ncurses_insertln|ncurses_insstr|ncurses_instr|ncurses_isendwin|ncurses_keyok|ncurses_keypad|ncurses_killchar|ncurses_longname|ncurses_meta|ncurses_mouse_trafo|ncurses_mouseinterval|ncurses_mousemask|ncurses_move|ncurses_move_panel|ncurses_mvaddch|ncurses_mvaddchnstr|ncurses_mvaddchstr|ncurses_mvaddnstr|ncurses_mvaddstr|ncurses_mvcur|ncurses_mvdelch|ncurses_mvgetch|ncurses_mvhline|ncurses_mvinch|ncurses_mvvline|ncurses_mvwaddstr|ncurses_napms|ncurses_new_panel|ncurses_newpad|ncurses_newwin|ncurses_nl|ncurses_nocbreak|ncurses_noecho|ncurses_nonl|ncurses_noqiflush|ncurses_noraw|ncurses_pair_content|ncurses_panel_above|ncurses_panel_below|ncurses_panel_window|ncurses_pnoutrefresh|ncurses_prefresh|ncurses_putp|ncurses_qiflush|ncurses_raw|ncurses_refresh|ncurses_replace_panel|ncurses_reset_prog_mode|ncurses_reset_shell_mode|ncurses_resetty|ncurses_savetty|ncurses_scr_dump|ncurses_scr_init|ncurses_scr_restore|ncurses_scr_set|ncurses_scrl|ncurses_show_panel|ncurses_slk_attr|ncurses_slk_attroff|ncurses_slk_attron|ncurses_slk_attrset|ncurses_slk_clear|ncurses_slk_color|ncurses_slk_init|ncurses_slk_noutrefresh|ncurses_slk_refresh|ncurses_slk_restore|ncurses_slk_set|ncurses_slk_touch|ncurses_standend|ncurses_standout|ncurses_start_color|ncurses_termattrs|ncurses_termname|ncurses_timeout|ncurses_top_panel|ncurses_typeahead|ncurses_ungetch|ncurses_ungetmouse|ncurses_update_panels|ncurses_use_default_colors|ncurses_use_env|ncurses_use_extended_names|ncurses_vidattr|ncurses_vline|ncurses_waddch|ncurses_waddstr|ncurses_wattroff|ncurses_wattron|ncurses_wattrset|ncurses_wborder|ncurses_wclear|ncurses_wcolor_set|ncurses_werase|ncurses_wgetch|ncurses_whline|ncurses_wmouse_trafo|ncurses_wmove|ncurses_wnoutrefresh|ncurses_wrefresh|ncurses_wstandend|ncurses_wstandout|ncurses_wvline|newinstance|newinstanceargs|newt_bell|newt_button|newt_button_bar|newt_centered_window|newt_checkbox|newt_checkbox_get_value|newt_checkbox_set_flags|newt_checkbox_set_value|newt_checkbox_tree|newt_checkbox_tree_add_item|newt_checkbox_tree_find_item|newt_checkbox_tree_get_current|newt_checkbox_tree_get_entry_value|newt_checkbox_tree_get_multi_selection|newt_checkbox_tree_get_selection|newt_checkbox_tree_multi|newt_checkbox_tree_set_current|newt_checkbox_tree_set_entry|newt_checkbox_tree_set_entry_value|newt_checkbox_tree_set_width|newt_clear_key_buffer|newt_cls|newt_compact_button|newt_component_add_callback|newt_component_takes_focus|newt_create_grid|newt_cursor_off|newt_cursor_on|newt_delay|newt_draw_form|newt_draw_root_text|newt_entry|newt_entry_get_value|newt_entry_set|newt_entry_set_filter|newt_entry_set_flags|newt_finished|newt_form|newt_form_add_component|newt_form_add_components|newt_form_add_hot_key|newt_form_destroy|newt_form_get_current|newt_form_run|newt_form_set_background|newt_form_set_height|newt_form_set_size|newt_form_set_timer|newt_form_set_width|newt_form_watch_fd|newt_get_screen_size|newt_grid_add_components_to_form|newt_grid_basic_window|newt_grid_free|newt_grid_get_size|newt_grid_h_close_stacked|newt_grid_h_stacked|newt_grid_place|newt_grid_set_field|newt_grid_simple_window|newt_grid_v_close_stacked|newt_grid_v_stacked|newt_grid_wrapped_window|newt_grid_wrapped_window_at|newt_init|newt_label|newt_label_set_text|newt_listbox|newt_listbox_append_entry|newt_listbox_clear|newt_listbox_clear_selection|newt_listbox_delete_entry|newt_listbox_get_current|newt_listbox_get_selection|newt_listbox_insert_entry|newt_listbox_item_count|newt_listbox_select_item|newt_listbox_set_current|newt_listbox_set_current_by_key|newt_listbox_set_data|newt_listbox_set_entry|newt_listbox_set_width|newt_listitem|newt_listitem_get_data|newt_listitem_set|newt_open_window|newt_pop_help_line|newt_pop_window|newt_push_help_line|newt_radio_get_current|newt_radiobutton|newt_redraw_help_line|newt_reflow_text|newt_refresh|newt_resize_screen|newt_resume|newt_run_form|newt_scale|newt_scale_set|newt_scrollbar_set|newt_set_help_callback|newt_set_suspend_callback|newt_suspend|newt_textbox|newt_textbox_get_num_lines|newt_textbox_reflowed|newt_textbox_set_height|newt_textbox_set_text|newt_vertical_scrollbar|newt_wait_for_key|newt_win_choice|newt_win_entries|newt_win_menu|newt_win_message|newt_win_messagev|newt_win_ternary|next|ngettext|nl2br|nl_langinfo|norewinditerator|normalizer|notes_body|notes_copy_db|notes_create_db|notes_create_note|notes_drop_db|notes_find_note|notes_header_info|notes_list_msgs|notes_mark_read|notes_mark_unread|notes_nav_create|notes_search|notes_unread|notes_version|nsapi_request_headers|nsapi_response_headers|nsapi_virtual|nthmac|number_format|numberformatter|oauth|oauth_get_sbs|oauth_urlencode|oauthexception|oauthprovider|ob_clean|ob_deflatehandler|ob_end_clean|ob_end_flush|ob_etaghandler|ob_flush|ob_get_clean|ob_get_contents|ob_get_flush|ob_get_length|ob_get_level|ob_get_status|ob_gzhandler|ob_iconv_handler|ob_implicit_flush|ob_inflatehandler|ob_list_handlers|ob_start|ob_tidyhandler|oci_bind_array_by_name|oci_bind_by_name|oci_cancel|oci_client_version|oci_close|oci_collection_append|oci_collection_assign|oci_collection_element_assign|oci_collection_element_get|oci_collection_free|oci_collection_max|oci_collection_size|oci_collection_trim|oci_commit|oci_connect|oci_define_by_name|oci_error|oci_execute|oci_fetch|oci_fetch_all|oci_fetch_array|oci_fetch_assoc|oci_fetch_object|oci_fetch_row|oci_field_is_null|oci_field_name|oci_field_precision|oci_field_scale|oci_field_size|oci_field_type|oci_field_type_raw|oci_free_statement|oci_internal_debug|oci_lob_append|oci_lob_close|oci_lob_copy|oci_lob_eof|oci_lob_erase|oci_lob_export|oci_lob_flush|oci_lob_free|oci_lob_getbuffering|oci_lob_import|oci_lob_is_equal|oci_lob_load|oci_lob_read|oci_lob_rewind|oci_lob_save|oci_lob_savefile|oci_lob_seek|oci_lob_setbuffering|oci_lob_size|oci_lob_tell|oci_lob_truncate|oci_lob_write|oci_lob_writetemporary|oci_lob_writetofile|oci_new_collection|oci_new_connect|oci_new_cursor|oci_new_descriptor|oci_num_fields|oci_num_rows|oci_parse|oci_password_change|oci_pconnect|oci_result|oci_rollback|oci_server_version|oci_set_action|oci_set_client_identifier|oci_set_client_info|oci_set_edition|oci_set_module_name|oci_set_prefetch|oci_statement_type|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|octdec|odbc_autocommit|odbc_binmode|odbc_close|odbc_close_all|odbc_columnprivileges|odbc_columns|odbc_commit|odbc_connect|odbc_cursor|odbc_data_source|odbc_do|odbc_error|odbc_errormsg|odbc_exec|odbc_execute|odbc_fetch_array|odbc_fetch_into|odbc_fetch_object|odbc_fetch_row|odbc_field_len|odbc_field_name|odbc_field_num|odbc_field_precision|odbc_field_scale|odbc_field_type|odbc_foreignkeys|odbc_free_result|odbc_gettypeinfo|odbc_longreadlen|odbc_next_result|odbc_num_fields|odbc_num_rows|odbc_pconnect|odbc_prepare|odbc_primarykeys|odbc_procedurecolumns|odbc_procedures|odbc_result|odbc_result_all|odbc_rollback|odbc_setoption|odbc_specialcolumns|odbc_statistics|odbc_tableprivileges|odbc_tables|openal_buffer_create|openal_buffer_data|openal_buffer_destroy|openal_buffer_get|openal_buffer_loadwav|openal_context_create|openal_context_current|openal_context_destroy|openal_context_process|openal_context_suspend|openal_device_close|openal_device_open|openal_listener_get|openal_listener_set|openal_source_create|openal_source_destroy|openal_source_get|openal_source_pause|openal_source_play|openal_source_rewind|openal_source_set|openal_source_stop|openal_stream|opendir|openlog|openssl_cipher_iv_length|openssl_csr_export|openssl_csr_export_to_file|openssl_csr_get_public_key|openssl_csr_get_subject|openssl_csr_new|openssl_csr_sign|openssl_decrypt|openssl_dh_compute_key|openssl_digest|openssl_encrypt|openssl_error_string|openssl_free_key|openssl_get_cipher_methods|openssl_get_md_methods|openssl_get_privatekey|openssl_get_publickey|openssl_open|openssl_pkcs12_export|openssl_pkcs12_export_to_file|openssl_pkcs12_read|openssl_pkcs7_decrypt|openssl_pkcs7_encrypt|openssl_pkcs7_sign|openssl_pkcs7_verify|openssl_pkey_export|openssl_pkey_export_to_file|openssl_pkey_free|openssl_pkey_get_details|openssl_pkey_get_private|openssl_pkey_get_public|openssl_pkey_new|openssl_private_decrypt|openssl_private_encrypt|openssl_public_decrypt|openssl_public_encrypt|openssl_random_pseudo_bytes|openssl_seal|openssl_sign|openssl_verify|openssl_x509_check_private_key|openssl_x509_checkpurpose|openssl_x509_export|openssl_x509_export_to_file|openssl_x509_free|openssl_x509_parse|openssl_x509_read|ord|outeriterator|outofboundsexception|outofrangeexception|output_add_rewrite_var|output_reset_rewrite_vars|overflowexception|overload|override_function|ovrimos_close|ovrimos_commit|ovrimos_connect|ovrimos_cursor|ovrimos_exec|ovrimos_execute|ovrimos_fetch_into|ovrimos_fetch_row|ovrimos_field_len|ovrimos_field_name|ovrimos_field_num|ovrimos_field_type|ovrimos_free_result|ovrimos_longreadlen|ovrimos_num_fields|ovrimos_num_rows|ovrimos_prepare|ovrimos_result|ovrimos_result_all|ovrimos_rollback|pack|parentiterator|parse_ini_file|parse_ini_string|parse_str|parse_url|parsekit_compile_file|parsekit_compile_string|parsekit_func_arginfo|passthru|pathinfo|pclose|pcntl_alarm|pcntl_exec|pcntl_fork|pcntl_getpriority|pcntl_setpriority|pcntl_signal|pcntl_signal_dispatch|pcntl_sigprocmask|pcntl_sigtimedwait|pcntl_sigwaitinfo|pcntl_wait|pcntl_waitpid|pcntl_wexitstatus|pcntl_wifexited|pcntl_wifsignaled|pcntl_wifstopped|pcntl_wstopsig|pcntl_wtermsig|pdf_activate_item|pdf_add_annotation|pdf_add_bookmark|pdf_add_launchlink|pdf_add_locallink|pdf_add_nameddest|pdf_add_note|pdf_add_outline|pdf_add_pdflink|pdf_add_table_cell|pdf_add_textflow|pdf_add_thumbnail|pdf_add_weblink|pdf_arc|pdf_arcn|pdf_attach_file|pdf_begin_document|pdf_begin_font|pdf_begin_glyph|pdf_begin_item|pdf_begin_layer|pdf_begin_page|pdf_begin_page_ext|pdf_begin_pattern|pdf_begin_template|pdf_begin_template_ext|pdf_circle|pdf_clip|pdf_close|pdf_close_image|pdf_close_pdi|pdf_close_pdi_page|pdf_closepath|pdf_closepath_fill_stroke|pdf_closepath_stroke|pdf_concat|pdf_continue_text|pdf_create_3dview|pdf_create_action|pdf_create_annotation|pdf_create_bookmark|pdf_create_field|pdf_create_fieldgroup|pdf_create_gstate|pdf_create_pvf|pdf_create_textflow|pdf_curveto|pdf_define_layer|pdf_delete|pdf_delete_pvf|pdf_delete_table|pdf_delete_textflow|pdf_encoding_set_char|pdf_end_document|pdf_end_font|pdf_end_glyph|pdf_end_item|pdf_end_layer|pdf_end_page|pdf_end_page_ext|pdf_end_pattern|pdf_end_template|pdf_endpath|pdf_fill|pdf_fill_imageblock|pdf_fill_pdfblock|pdf_fill_stroke|pdf_fill_textblock|pdf_findfont|pdf_fit_image|pdf_fit_pdi_page|pdf_fit_table|pdf_fit_textflow|pdf_fit_textline|pdf_get_apiname|pdf_get_buffer|pdf_get_errmsg|pdf_get_errnum|pdf_get_font|pdf_get_fontname|pdf_get_fontsize|pdf_get_image_height|pdf_get_image_width|pdf_get_majorversion|pdf_get_minorversion|pdf_get_parameter|pdf_get_pdi_parameter|pdf_get_pdi_value|pdf_get_value|pdf_info_font|pdf_info_matchbox|pdf_info_table|pdf_info_textflow|pdf_info_textline|pdf_initgraphics|pdf_lineto|pdf_load_3ddata|pdf_load_font|pdf_load_iccprofile|pdf_load_image|pdf_makespotcolor|pdf_moveto|pdf_new|pdf_open_ccitt|pdf_open_file|pdf_open_gif|pdf_open_image|pdf_open_image_file|pdf_open_jpeg|pdf_open_memory_image|pdf_open_pdi|pdf_open_pdi_document|pdf_open_pdi_page|pdf_open_tiff|pdf_pcos_get_number|pdf_pcos_get_stream|pdf_pcos_get_string|pdf_place_image|pdf_place_pdi_page|pdf_process_pdi|pdf_rect|pdf_restore|pdf_resume_page|pdf_rotate|pdf_save|pdf_scale|pdf_set_border_color|pdf_set_border_dash|pdf_set_border_style|pdf_set_char_spacing|pdf_set_duration|pdf_set_gstate|pdf_set_horiz_scaling|pdf_set_info|pdf_set_info_author|pdf_set_info_creator|pdf_set_info_keywords|pdf_set_info_subject|pdf_set_info_title|pdf_set_layer_dependency|pdf_set_leading|pdf_set_parameter|pdf_set_text_matrix|pdf_set_text_pos|pdf_set_text_rendering|pdf_set_text_rise|pdf_set_value|pdf_set_word_spacing|pdf_setcolor|pdf_setdash|pdf_setdashpattern|pdf_setflat|pdf_setfont|pdf_setgray|pdf_setgray_fill|pdf_setgray_stroke|pdf_setlinecap|pdf_setlinejoin|pdf_setlinewidth|pdf_setmatrix|pdf_setmiterlimit|pdf_setpolydash|pdf_setrgbcolor|pdf_setrgbcolor_fill|pdf_setrgbcolor_stroke|pdf_shading|pdf_shading_pattern|pdf_shfill|pdf_show|pdf_show_boxed|pdf_show_xy|pdf_skew|pdf_stringwidth|pdf_stroke|pdf_suspend_page|pdf_translate|pdf_utf16_to_utf8|pdf_utf32_to_utf16|pdf_utf8_to_utf16|pdo|pdo_cubrid_schema|pdo_pgsqllobcreate|pdo_pgsqllobopen|pdo_pgsqllobunlink|pdo_sqlitecreateaggregate|pdo_sqlitecreatefunction|pdoexception|pdostatement|pfsockopen|pg_affected_rows|pg_cancel_query|pg_client_encoding|pg_close|pg_connect|pg_connection_busy|pg_connection_reset|pg_connection_status|pg_convert|pg_copy_from|pg_copy_to|pg_dbname|pg_delete|pg_end_copy|pg_escape_bytea|pg_escape_string|pg_execute|pg_fetch_all|pg_fetch_all_columns|pg_fetch_array|pg_fetch_assoc|pg_fetch_object|pg_fetch_result|pg_fetch_row|pg_field_is_null|pg_field_name|pg_field_num|pg_field_prtlen|pg_field_size|pg_field_table|pg_field_type|pg_field_type_oid|pg_free_result|pg_get_notify|pg_get_pid|pg_get_result|pg_host|pg_insert|pg_last_error|pg_last_notice|pg_last_oid|pg_lo_close|pg_lo_create|pg_lo_export|pg_lo_import|pg_lo_open|pg_lo_read|pg_lo_read_all|pg_lo_seek|pg_lo_tell|pg_lo_unlink|pg_lo_write|pg_meta_data|pg_num_fields|pg_num_rows|pg_options|pg_parameter_status|pg_pconnect|pg_ping|pg_port|pg_prepare|pg_put_line|pg_query|pg_query_params|pg_result_error|pg_result_error_field|pg_result_seek|pg_result_status|pg_select|pg_send_execute|pg_send_prepare|pg_send_query|pg_send_query_params|pg_set_client_encoding|pg_set_error_verbosity|pg_trace|pg_transaction_status|pg_tty|pg_unescape_bytea|pg_untrace|pg_update|pg_version|php_check_syntax|php_ini_loaded_file|php_ini_scanned_files|php_logo_guid|php_sapi_name|php_strip_whitespace|php_uname|phpcredits|phpinfo|phpversion|pi|png2wbmp|popen|pos|posix_access|posix_ctermid|posix_errno|posix_get_last_error|posix_getcwd|posix_getegid|posix_geteuid|posix_getgid|posix_getgrgid|posix_getgrnam|posix_getgroups|posix_getlogin|posix_getpgid|posix_getpgrp|posix_getpid|posix_getppid|posix_getpwnam|posix_getpwuid|posix_getrlimit|posix_getsid|posix_getuid|posix_initgroups|posix_isatty|posix_kill|posix_mkfifo|posix_mknod|posix_setegid|posix_seteuid|posix_setgid|posix_setpgid|posix_setsid|posix_setuid|posix_strerror|posix_times|posix_ttyname|posix_uname|pow|preg_filter|preg_grep|preg_last_error|preg_match|preg_match_all|preg_quote|preg_replace|preg_replace_callback|preg_split|prev|print|print_r|printer_abort|printer_close|printer_create_brush|printer_create_dc|printer_create_font|printer_create_pen|printer_delete_brush|printer_delete_dc|printer_delete_font|printer_delete_pen|printer_draw_bmp|printer_draw_chord|printer_draw_elipse|printer_draw_line|printer_draw_pie|printer_draw_rectangle|printer_draw_roundrect|printer_draw_text|printer_end_doc|printer_end_page|printer_get_option|printer_list|printer_logical_fontheight|printer_open|printer_select_brush|printer_select_font|printer_select_pen|printer_set_option|printer_start_doc|printer_start_page|printer_write|printf|proc_close|proc_get_status|proc_nice|proc_open|proc_terminate|property_exists|ps_add_bookmark|ps_add_launchlink|ps_add_locallink|ps_add_note|ps_add_pdflink|ps_add_weblink|ps_arc|ps_arcn|ps_begin_page|ps_begin_pattern|ps_begin_template|ps_circle|ps_clip|ps_close|ps_close_image|ps_closepath|ps_closepath_stroke|ps_continue_text|ps_curveto|ps_delete|ps_end_page|ps_end_pattern|ps_end_template|ps_fill|ps_fill_stroke|ps_findfont|ps_get_buffer|ps_get_parameter|ps_get_value|ps_hyphenate|ps_include_file|ps_lineto|ps_makespotcolor|ps_moveto|ps_new|ps_open_file|ps_open_image|ps_open_image_file|ps_open_memory_image|ps_place_image|ps_rect|ps_restore|ps_rotate|ps_save|ps_scale|ps_set_border_color|ps_set_border_dash|ps_set_border_style|ps_set_info|ps_set_parameter|ps_set_text_pos|ps_set_value|ps_setcolor|ps_setdash|ps_setflat|ps_setfont|ps_setgray|ps_setlinecap|ps_setlinejoin|ps_setlinewidth|ps_setmiterlimit|ps_setoverprintmode|ps_setpolydash|ps_shading|ps_shading_pattern|ps_shfill|ps_show|ps_show2|ps_show_boxed|ps_show_xy|ps_show_xy2|ps_string_geometry|ps_stringwidth|ps_stroke|ps_symbol|ps_symbol_name|ps_symbol_width|ps_translate|pspell_add_to_personal|pspell_add_to_session|pspell_check|pspell_clear_session|pspell_config_create|pspell_config_data_dir|pspell_config_dict_dir|pspell_config_ignore|pspell_config_mode|pspell_config_personal|pspell_config_repl|pspell_config_runtogether|pspell_config_save_repl|pspell_new|pspell_new_config|pspell_new_personal|pspell_save_wordlist|pspell_store_replacement|pspell_suggest|putenv|px_close|px_create_fp|px_date2string|px_delete|px_delete_record|px_get_field|px_get_info|px_get_parameter|px_get_record|px_get_schema|px_get_value|px_insert_record|px_new|px_numfields|px_numrecords|px_open_fp|px_put_record|px_retrieve_record|px_set_blob_file|px_set_parameter|px_set_tablename|px_set_targetencoding|px_set_value|px_timestamp2string|px_update_record|qdom_error|qdom_tree|quoted_printable_decode|quoted_printable_encode|quotemeta|rad2deg|radius_acct_open|radius_add_server|radius_auth_open|radius_close|radius_config|radius_create_request|radius_cvt_addr|radius_cvt_int|radius_cvt_string|radius_demangle|radius_demangle_mppe_key|radius_get_attr|radius_get_vendor_attr|radius_put_addr|radius_put_attr|radius_put_int|radius_put_string|radius_put_vendor_addr|radius_put_vendor_attr|radius_put_vendor_int|radius_put_vendor_string|radius_request_authenticator|radius_send_request|radius_server_secret|radius_strerror|rand|range|rangeexception|rar_wrapper_cache_stats|rararchive|rarentry|rarexception|rawurldecode|rawurlencode|read_exif_data|readdir|readfile|readgzfile|readline|readline_add_history|readline_callback_handler_install|readline_callback_handler_remove|readline_callback_read_char|readline_clear_history|readline_completion_function|readline_info|readline_list_history|readline_on_new_line|readline_read_history|readline_redisplay|readline_write_history|readlink|realpath|realpath_cache_get|realpath_cache_size|recode|recode_file|recode_string|recursivearrayiterator|recursivecachingiterator|recursivecallbackfilteriterator|recursivedirectoryiterator|recursivefilteriterator|recursiveiterator|recursiveiteratoriterator|recursiveregexiterator|recursivetreeiterator|reflection|reflectionclass|reflectionexception|reflectionextension|reflectionfunction|reflectionfunctionabstract|reflectionmethod|reflectionobject|reflectionparameter|reflectionproperty|reflector|regexiterator|register_shutdown_function|register_tick_function|rename|rename_function|require|require_once|reset|resetValue|resourcebundle|restore_error_handler|restore_exception_handler|restore_include_path|return|rewind|rewinddir|rmdir|round|rpm_close|rpm_get_tag|rpm_is_valid|rpm_open|rpm_version|rrd_create|rrd_error|rrd_fetch|rrd_first|rrd_graph|rrd_info|rrd_last|rrd_lastupdate|rrd_restore|rrd_tune|rrd_update|rrd_xport|rrdcreator|rrdgraph|rrdupdater|rsort|rtrim|runkit_class_adopt|runkit_class_emancipate|runkit_constant_add|runkit_constant_redefine|runkit_constant_remove|runkit_function_add|runkit_function_copy|runkit_function_redefine|runkit_function_remove|runkit_function_rename|runkit_import|runkit_lint|runkit_lint_file|runkit_method_add|runkit_method_copy|runkit_method_redefine|runkit_method_remove|runkit_method_rename|runkit_return_value_used|runkit_sandbox_output_handler|runkit_superglobals|runtimeexception|samconnection_commit|samconnection_connect|samconnection_constructor|samconnection_disconnect|samconnection_errno|samconnection_error|samconnection_isconnected|samconnection_peek|samconnection_peekall|samconnection_receive|samconnection_remove|samconnection_rollback|samconnection_send|samconnection_setDebug|samconnection_subscribe|samconnection_unsubscribe|sammessage_body|sammessage_constructor|sammessage_header|sca_createdataobject|sca_getservice|sca_localproxy_createdataobject|sca_soapproxy_createdataobject|scandir|sdo_das_changesummary_beginlogging|sdo_das_changesummary_endlogging|sdo_das_changesummary_getchangeddataobjects|sdo_das_changesummary_getchangetype|sdo_das_changesummary_getoldcontainer|sdo_das_changesummary_getoldvalues|sdo_das_changesummary_islogging|sdo_das_datafactory_addpropertytotype|sdo_das_datafactory_addtype|sdo_das_datafactory_getdatafactory|sdo_das_dataobject_getchangesummary|sdo_das_relational_applychanges|sdo_das_relational_construct|sdo_das_relational_createrootdataobject|sdo_das_relational_executepreparedquery|sdo_das_relational_executequery|sdo_das_setting_getlistindex|sdo_das_setting_getpropertyindex|sdo_das_setting_getpropertyname|sdo_das_setting_getvalue|sdo_das_setting_isset|sdo_das_xml_addtypes|sdo_das_xml_create|sdo_das_xml_createdataobject|sdo_das_xml_createdocument|sdo_das_xml_document_getrootdataobject|sdo_das_xml_document_getrootelementname|sdo_das_xml_document_getrootelementuri|sdo_das_xml_document_setencoding|sdo_das_xml_document_setxmldeclaration|sdo_das_xml_document_setxmlversion|sdo_das_xml_loadfile|sdo_das_xml_loadstring|sdo_das_xml_savefile|sdo_das_xml_savestring|sdo_datafactory_create|sdo_dataobject_clear|sdo_dataobject_createdataobject|sdo_dataobject_getcontainer|sdo_dataobject_getsequence|sdo_dataobject_gettypename|sdo_dataobject_gettypenamespaceuri|sdo_exception_getcause|sdo_list_insert|sdo_model_property_getcontainingtype|sdo_model_property_getdefault|sdo_model_property_getname|sdo_model_property_gettype|sdo_model_property_iscontainment|sdo_model_property_ismany|sdo_model_reflectiondataobject_construct|sdo_model_reflectiondataobject_export|sdo_model_reflectiondataobject_getcontainmentproperty|sdo_model_reflectiondataobject_getinstanceproperties|sdo_model_reflectiondataobject_gettype|sdo_model_type_getbasetype|sdo_model_type_getname|sdo_model_type_getnamespaceuri|sdo_model_type_getproperties|sdo_model_type_getproperty|sdo_model_type_isabstracttype|sdo_model_type_isdatatype|sdo_model_type_isinstance|sdo_model_type_isopentype|sdo_model_type_issequencedtype|sdo_sequence_getproperty|sdo_sequence_insert|sdo_sequence_move|seekableiterator|sem_acquire|sem_get|sem_release|sem_remove|serializable|serialize|session_cache_expire|session_cache_limiter|session_commit|session_decode|session_destroy|session_encode|session_get_cookie_params|session_id|session_is_registered|session_module_name|session_name|session_pgsql_add_error|session_pgsql_get_error|session_pgsql_get_field|session_pgsql_reset|session_pgsql_set_field|session_pgsql_status|session_regenerate_id|session_register|session_save_path|session_set_cookie_params|session_set_save_handler|session_start|session_unregister|session_unset|session_write_close|setCounterClass|set_error_handler|set_exception_handler|set_file_buffer|set_include_path|set_magic_quotes_runtime|set_socket_blocking|set_time_limit|setcookie|setlocale|setproctitle|setrawcookie|setstaticpropertyvalue|setthreadtitle|settype|sha1|sha1_file|shell_exec|shm_attach|shm_detach|shm_get_var|shm_has_var|shm_put_var|shm_remove|shm_remove_var|shmop_close|shmop_delete|shmop_open|shmop_read|shmop_size|shmop_write|show_source|shuffle|signeurlpaiement|similar_text|simplexml_import_dom|simplexml_load_file|simplexml_load_string|simplexmlelement|simplexmliterator|sin|sinh|sizeof|sleep|snmp|snmp2_get|snmp2_getnext|snmp2_real_walk|snmp2_set|snmp2_walk|snmp3_get|snmp3_getnext|snmp3_real_walk|snmp3_set|snmp3_walk|snmp_get_quick_print|snmp_get_valueretrieval|snmp_read_mib|snmp_set_enum_print|snmp_set_oid_numeric_print|snmp_set_oid_output_format|snmp_set_quick_print|snmp_set_valueretrieval|snmpget|snmpgetnext|snmprealwalk|snmpset|snmpwalk|snmpwalkoid|soapclient|soapfault|soapheader|soapparam|soapserver|soapvar|socket_accept|socket_bind|socket_clear_error|socket_close|socket_connect|socket_create|socket_create_listen|socket_create_pair|socket_get_option|socket_get_status|socket_getpeername|socket_getsockname|socket_last_error|socket_listen|socket_read|socket_recv|socket_recvfrom|socket_select|socket_send|socket_sendto|socket_set_block|socket_set_blocking|socket_set_nonblock|socket_set_option|socket_set_timeout|socket_shutdown|socket_strerror|socket_write|solr_get_version|solrclient|solrclientexception|solrdocument|solrdocumentfield|solrexception|solrgenericresponse|solrillegalargumentexception|solrillegaloperationexception|solrinputdocument|solrmodifiableparams|solrobject|solrparams|solrpingresponse|solrquery|solrqueryresponse|solrresponse|solrupdateresponse|solrutils|sort|soundex|sphinxclient|spl_autoload|spl_autoload_call|spl_autoload_extensions|spl_autoload_functions|spl_autoload_register|spl_autoload_unregister|spl_classes|spl_object_hash|splbool|spldoublylinkedlist|splenum|splfileinfo|splfileobject|splfixedarray|splfloat|splheap|splint|split|spliti|splmaxheap|splminheap|splobjectstorage|splobserver|splpriorityqueue|splqueue|splstack|splstring|splsubject|spltempfileobject|spoofchecker|sprintf|sql_regcase|sqlite3|sqlite3result|sqlite3stmt|sqlite_array_query|sqlite_busy_timeout|sqlite_changes|sqlite_close|sqlite_column|sqlite_create_aggregate|sqlite_create_function|sqlite_current|sqlite_error_string|sqlite_escape_string|sqlite_exec|sqlite_factory|sqlite_fetch_all|sqlite_fetch_array|sqlite_fetch_column_types|sqlite_fetch_object|sqlite_fetch_single|sqlite_fetch_string|sqlite_field_name|sqlite_has_more|sqlite_has_prev|sqlite_key|sqlite_last_error|sqlite_last_insert_rowid|sqlite_libencoding|sqlite_libversion|sqlite_next|sqlite_num_fields|sqlite_num_rows|sqlite_open|sqlite_popen|sqlite_prev|sqlite_query|sqlite_rewind|sqlite_seek|sqlite_single_query|sqlite_udf_decode_binary|sqlite_udf_encode_binary|sqlite_unbuffered_query|sqlite_valid|sqrt|srand|sscanf|ssdeep_fuzzy_compare|ssdeep_fuzzy_hash|ssdeep_fuzzy_hash_filename|ssh2_auth_hostbased_file|ssh2_auth_none|ssh2_auth_password|ssh2_auth_pubkey_file|ssh2_connect|ssh2_exec|ssh2_fetch_stream|ssh2_fingerprint|ssh2_methods_negotiated|ssh2_publickey_add|ssh2_publickey_init|ssh2_publickey_list|ssh2_publickey_remove|ssh2_scp_recv|ssh2_scp_send|ssh2_sftp|ssh2_sftp_lstat|ssh2_sftp_mkdir|ssh2_sftp_readlink|ssh2_sftp_realpath|ssh2_sftp_rename|ssh2_sftp_rmdir|ssh2_sftp_stat|ssh2_sftp_symlink|ssh2_sftp_unlink|ssh2_shell|ssh2_tunnel|stat|stats_absolute_deviation|stats_cdf_beta|stats_cdf_binomial|stats_cdf_cauchy|stats_cdf_chisquare|stats_cdf_exponential|stats_cdf_f|stats_cdf_gamma|stats_cdf_laplace|stats_cdf_logistic|stats_cdf_negative_binomial|stats_cdf_noncentral_chisquare|stats_cdf_noncentral_f|stats_cdf_poisson|stats_cdf_t|stats_cdf_uniform|stats_cdf_weibull|stats_covariance|stats_den_uniform|stats_dens_beta|stats_dens_cauchy|stats_dens_chisquare|stats_dens_exponential|stats_dens_f|stats_dens_gamma|stats_dens_laplace|stats_dens_logistic|stats_dens_negative_binomial|stats_dens_normal|stats_dens_pmf_binomial|stats_dens_pmf_hypergeometric|stats_dens_pmf_poisson|stats_dens_t|stats_dens_weibull|stats_harmonic_mean|stats_kurtosis|stats_rand_gen_beta|stats_rand_gen_chisquare|stats_rand_gen_exponential|stats_rand_gen_f|stats_rand_gen_funiform|stats_rand_gen_gamma|stats_rand_gen_ibinomial|stats_rand_gen_ibinomial_negative|stats_rand_gen_int|stats_rand_gen_ipoisson|stats_rand_gen_iuniform|stats_rand_gen_noncenral_chisquare|stats_rand_gen_noncentral_f|stats_rand_gen_noncentral_t|stats_rand_gen_normal|stats_rand_gen_t|stats_rand_get_seeds|stats_rand_phrase_to_seeds|stats_rand_ranf|stats_rand_setall|stats_skew|stats_standard_deviation|stats_stat_binomial_coef|stats_stat_correlation|stats_stat_gennch|stats_stat_independent_t|stats_stat_innerproduct|stats_stat_noncentral_t|stats_stat_paired_t|stats_stat_percentile|stats_stat_powersum|stats_variance|stomp|stomp_connect_error|stomp_version|stompexception|stompframe|str_getcsv|str_ireplace|str_pad|str_repeat|str_replace|str_rot13|str_shuffle|str_split|str_word_count|strcasecmp|strchr|strcmp|strcoll|strcspn|stream_bucket_append|stream_bucket_make_writeable|stream_bucket_new|stream_bucket_prepend|stream_context_create|stream_context_get_default|stream_context_get_options|stream_context_get_params|stream_context_set_default|stream_context_set_option|stream_context_set_params|stream_copy_to_stream|stream_encoding|stream_filter_append|stream_filter_prepend|stream_filter_register|stream_filter_remove|stream_get_contents|stream_get_filters|stream_get_line|stream_get_meta_data|stream_get_transports|stream_get_wrappers|stream_is_local|stream_notification_callback|stream_register_wrapper|stream_resolve_include_path|stream_select|stream_set_blocking|stream_set_read_buffer|stream_set_timeout|stream_set_write_buffer|stream_socket_accept|stream_socket_client|stream_socket_enable_crypto|stream_socket_get_name|stream_socket_pair|stream_socket_recvfrom|stream_socket_sendto|stream_socket_server|stream_socket_shutdown|stream_supports_lock|stream_wrapper_register|stream_wrapper_restore|stream_wrapper_unregister|streamwrapper|strftime|strip_tags|stripcslashes|stripos|stripslashes|stristr|strlen|strnatcasecmp|strnatcmp|strncasecmp|strncmp|strpbrk|strpos|strptime|strrchr|strrev|strripos|strrpos|strspn|strstr|strtok|strtolower|strtotime|strtoupper|strtr|strval|substr|substr_compare|substr_count|substr_replace|svm|svmmodel|svn_add|svn_auth_get_parameter|svn_auth_set_parameter|svn_blame|svn_cat|svn_checkout|svn_cleanup|svn_client_version|svn_commit|svn_delete|svn_diff|svn_export|svn_fs_abort_txn|svn_fs_apply_text|svn_fs_begin_txn2|svn_fs_change_node_prop|svn_fs_check_path|svn_fs_contents_changed|svn_fs_copy|svn_fs_delete|svn_fs_dir_entries|svn_fs_file_contents|svn_fs_file_length|svn_fs_is_dir|svn_fs_is_file|svn_fs_make_dir|svn_fs_make_file|svn_fs_node_created_rev|svn_fs_node_prop|svn_fs_props_changed|svn_fs_revision_prop|svn_fs_revision_root|svn_fs_txn_root|svn_fs_youngest_rev|svn_import|svn_log|svn_ls|svn_mkdir|svn_repos_create|svn_repos_fs|svn_repos_fs_begin_txn_for_commit|svn_repos_fs_commit_txn|svn_repos_hotcopy|svn_repos_open|svn_repos_recover|svn_revert|svn_status|svn_update|swf_actiongeturl|swf_actiongotoframe|swf_actiongotolabel|swf_actionnextframe|swf_actionplay|swf_actionprevframe|swf_actionsettarget|swf_actionstop|swf_actiontogglequality|swf_actionwaitforframe|swf_addbuttonrecord|swf_addcolor|swf_closefile|swf_definebitmap|swf_definefont|swf_defineline|swf_definepoly|swf_definerect|swf_definetext|swf_endbutton|swf_enddoaction|swf_endshape|swf_endsymbol|swf_fontsize|swf_fontslant|swf_fonttracking|swf_getbitmapinfo|swf_getfontinfo|swf_getframe|swf_labelframe|swf_lookat|swf_modifyobject|swf_mulcolor|swf_nextid|swf_oncondition|swf_openfile|swf_ortho|swf_ortho2|swf_perspective|swf_placeobject|swf_polarview|swf_popmatrix|swf_posround|swf_pushmatrix|swf_removeobject|swf_rotate|swf_scale|swf_setfont|swf_setframe|swf_shapearc|swf_shapecurveto|swf_shapecurveto3|swf_shapefillbitmapclip|swf_shapefillbitmaptile|swf_shapefilloff|swf_shapefillsolid|swf_shapelinesolid|swf_shapelineto|swf_shapemoveto|swf_showframe|swf_startbutton|swf_startdoaction|swf_startshape|swf_startsymbol|swf_textwidth|swf_translate|swf_viewport|swfaction|swfbitmap|swfbutton|swfdisplayitem|swffill|swffont|swffontchar|swfgradient|swfmorph|swfmovie|swfprebuiltclip|swfshape|swfsound|swfsoundinstance|swfsprite|swftext|swftextfield|swfvideostream|swish_construct|swish_getmetalist|swish_getpropertylist|swish_prepare|swish_query|swishresult_getmetalist|swishresult_stem|swishresults_getparsedwords|swishresults_getremovedstopwords|swishresults_nextresult|swishresults_seekresult|swishsearch_execute|swishsearch_resetlimit|swishsearch_setlimit|swishsearch_setphrasedelimiter|swishsearch_setsort|swishsearch_setstructure|sybase_affected_rows|sybase_close|sybase_connect|sybase_data_seek|sybase_deadlock_retry_count|sybase_fetch_array|sybase_fetch_assoc|sybase_fetch_field|sybase_fetch_object|sybase_fetch_row|sybase_field_seek|sybase_free_result|sybase_get_last_message|sybase_min_client_severity|sybase_min_error_severity|sybase_min_message_severity|sybase_min_server_severity|sybase_num_fields|sybase_num_rows|sybase_pconnect|sybase_query|sybase_result|sybase_select_db|sybase_set_message_handler|sybase_unbuffered_query|symlink|sys_get_temp_dir|sys_getloadavg|syslog|system|tag|tan|tanh|tcpwrap_check|tempnam|textdomain|tidy|tidy_access_count|tidy_config_count|tidy_diagnose|tidy_error_count|tidy_get_error_buffer|tidy_get_output|tidy_load_config|tidy_reset_config|tidy_save_config|tidy_set_encoding|tidy_setopt|tidy_warning_count|tidynode|time|time_nanosleep|time_sleep_until|timezone_abbreviations_list|timezone_identifiers_list|timezone_location_get|timezone_name_from_abbr|timezone_name_get|timezone_offset_get|timezone_open|timezone_transitions_get|timezone_version_get|tmpfile|token_get_all|token_name|tokyotyrant|tokyotyrantquery|tokyotyranttable|tostring|tostring|touch|transliterator|traversable|trigger_error|trim|uasort|ucfirst|ucwords|udm_add_search_limit|udm_alloc_agent|udm_alloc_agent_array|udm_api_version|udm_cat_list|udm_cat_path|udm_check_charset|udm_check_stored|udm_clear_search_limits|udm_close_stored|udm_crc32|udm_errno|udm_error|udm_find|udm_free_agent|udm_free_ispell_data|udm_free_res|udm_get_doc_count|udm_get_res_field|udm_get_res_param|udm_hash32|udm_load_ispell_data|udm_open_stored|udm_set_agent_param|uksort|umask|underflowexception|unexpectedvalueexception|uniqid|unixtojd|unlink|unpack|unregister_tick_function|unserialize|unset|urldecode|urlencode|use_soap_error_handler|user_error|usleep|usort|utf8_decode|utf8_encode|v8js|v8jsexception|var_dump|var_export|variant|variant_abs|variant_add|variant_and|variant_cast|variant_cat|variant_cmp|variant_date_from_timestamp|variant_date_to_timestamp|variant_div|variant_eqv|variant_fix|variant_get_type|variant_idiv|variant_imp|variant_int|variant_mod|variant_mul|variant_neg|variant_not|variant_or|variant_pow|variant_round|variant_set|variant_set_type|variant_sub|variant_xor|version_compare|vfprintf|virtual|vpopmail_add_alias_domain|vpopmail_add_alias_domain_ex|vpopmail_add_domain|vpopmail_add_domain_ex|vpopmail_add_user|vpopmail_alias_add|vpopmail_alias_del|vpopmail_alias_del_domain|vpopmail_alias_get|vpopmail_alias_get_all|vpopmail_auth_user|vpopmail_del_domain|vpopmail_del_domain_ex|vpopmail_del_user|vpopmail_error|vpopmail_passwd|vpopmail_set_user_quota|vprintf|vsprintf|w32api_deftype|w32api_init_dtype|w32api_invoke_function|w32api_register_function|w32api_set_call_method|wddx_add_vars|wddx_deserialize|wddx_packet_end|wddx_packet_start|wddx_serialize_value|wddx_serialize_vars|win32_continue_service|win32_create_service|win32_delete_service|win32_get_last_control_message|win32_pause_service|win32_ps_list_procs|win32_ps_stat_mem|win32_ps_stat_proc|win32_query_service_status|win32_set_service_status|win32_start_service|win32_start_service_ctrl_dispatcher|win32_stop_service|wincache_fcache_fileinfo|wincache_fcache_meminfo|wincache_lock|wincache_ocache_fileinfo|wincache_ocache_meminfo|wincache_refresh_if_changed|wincache_rplist_fileinfo|wincache_rplist_meminfo|wincache_scache_info|wincache_scache_meminfo|wincache_ucache_add|wincache_ucache_cas|wincache_ucache_clear|wincache_ucache_dec|wincache_ucache_delete|wincache_ucache_exists|wincache_ucache_get|wincache_ucache_inc|wincache_ucache_info|wincache_ucache_meminfo|wincache_ucache_set|wincache_unlock|wordwrap|xattr_get|xattr_list|xattr_remove|xattr_set|xattr_supported|xdiff_file_bdiff|xdiff_file_bdiff_size|xdiff_file_bpatch|xdiff_file_diff|xdiff_file_diff_binary|xdiff_file_merge3|xdiff_file_patch|xdiff_file_patch_binary|xdiff_file_rabdiff|xdiff_string_bdiff|xdiff_string_bdiff_size|xdiff_string_bpatch|xdiff_string_diff|xdiff_string_diff_binary|xdiff_string_merge3|xdiff_string_patch|xdiff_string_patch_binary|xdiff_string_rabdiff|xhprof_disable|xhprof_enable|xhprof_sample_disable|xhprof_sample_enable|xml_error_string|xml_get_current_byte_index|xml_get_current_column_number|xml_get_current_line_number|xml_get_error_code|xml_parse|xml_parse_into_struct|xml_parser_create|xml_parser_create_ns|xml_parser_free|xml_parser_get_option|xml_parser_set_option|xml_set_character_data_handler|xml_set_default_handler|xml_set_element_handler|xml_set_end_namespace_decl_handler|xml_set_external_entity_ref_handler|xml_set_notation_decl_handler|xml_set_object|xml_set_processing_instruction_handler|xml_set_start_namespace_decl_handler|xml_set_unparsed_entity_decl_handler|xmlreader|xmlrpc_decode|xmlrpc_decode_request|xmlrpc_encode|xmlrpc_encode_request|xmlrpc_get_type|xmlrpc_is_fault|xmlrpc_parse_method_descriptions|xmlrpc_server_add_introspection_data|xmlrpc_server_call_method|xmlrpc_server_create|xmlrpc_server_destroy|xmlrpc_server_register_introspection_callback|xmlrpc_server_register_method|xmlrpc_set_type|xmlwriter_end_attribute|xmlwriter_end_cdata|xmlwriter_end_comment|xmlwriter_end_document|xmlwriter_end_dtd|xmlwriter_end_dtd_attlist|xmlwriter_end_dtd_element|xmlwriter_end_dtd_entity|xmlwriter_end_element|xmlwriter_end_pi|xmlwriter_flush|xmlwriter_full_end_element|xmlwriter_open_memory|xmlwriter_open_uri|xmlwriter_output_memory|xmlwriter_set_indent|xmlwriter_set_indent_string|xmlwriter_start_attribute|xmlwriter_start_attribute_ns|xmlwriter_start_cdata|xmlwriter_start_comment|xmlwriter_start_document|xmlwriter_start_dtd|xmlwriter_start_dtd_attlist|xmlwriter_start_dtd_element|xmlwriter_start_dtd_entity|xmlwriter_start_element|xmlwriter_start_element_ns|xmlwriter_start_pi|xmlwriter_text|xmlwriter_write_attribute|xmlwriter_write_attribute_ns|xmlwriter_write_cdata|xmlwriter_write_comment|xmlwriter_write_dtd|xmlwriter_write_dtd_attlist|xmlwriter_write_dtd_element|xmlwriter_write_dtd_entity|xmlwriter_write_element|xmlwriter_write_element_ns|xmlwriter_write_pi|xmlwriter_write_raw|xpath_eval|xpath_eval_expression|xpath_new_context|xpath_register_ns|xpath_register_ns_auto|xptr_eval|xptr_new_context|xslt_backend_info|xslt_backend_name|xslt_backend_version|xslt_create|xslt_errno|xslt_error|xslt_free|xslt_getopt|xslt_process|xslt_set_base|xslt_set_encoding|xslt_set_error_handler|xslt_set_log|xslt_set_object|xslt_set_sax_handler|xslt_set_sax_handlers|xslt_set_scheme_handler|xslt_set_scheme_handlers|xslt_setopt|xsltprocessor|yaml_emit|yaml_emit_file|yaml_parse|yaml_parse_file|yaml_parse_url|yaz_addinfo|yaz_ccl_conf|yaz_ccl_parse|yaz_close|yaz_connect|yaz_database|yaz_element|yaz_errno|yaz_error|yaz_es|yaz_es_result|yaz_get_option|yaz_hits|yaz_itemorder|yaz_present|yaz_range|yaz_record|yaz_scan|yaz_scan_result|yaz_schema|yaz_search|yaz_set_option|yaz_sort|yaz_syntax|yaz_wait|yp_all|yp_cat|yp_err_string|yp_errno|yp_first|yp_get_default_domain|yp_master|yp_match|yp_next|yp_order|zend_logo_guid|zend_thread_id|zend_version|zip_close|zip_entry_close|zip_entry_compressedsize|zip_entry_compressionmethod|zip_entry_filesize|zip_entry_name|zip_entry_open|zip_entry_read|zip_open|zip_read|ziparchive|ziparchive_addemptydir|ziparchive_addfile|ziparchive_addfromstring|ziparchive_close|ziparchive_deleteindex|ziparchive_deletename|ziparchive_extractto|ziparchive_getarchivecomment|ziparchive_getcommentindex|ziparchive_getcommentname|ziparchive_getfromindex|ziparchive_getfromname|ziparchive_getnameindex|ziparchive_getstatusstring|ziparchive_getstream|ziparchive_locatename|ziparchive_open|ziparchive_renameindex|ziparchive_renamename|ziparchive_setCommentName|ziparchive_setarchivecomment|ziparchive_setcommentindex|ziparchive_statindex|ziparchive_statname|ziparchive_unchangeall|ziparchive_unchangearchive|ziparchive_unchangeindex|ziparchive_unchangename|zlib_get_coding_type".split("|")),n=i.arrayToMap("abstract|and|array|as|break|case|catch|class|clone|const|continue|declare|default|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|final|for|foreach|function|global|goto|if|implements|interface|instanceof|namespace|new|or|private|protected|public|static|switch|throw|try|use|var|while|xor".split("|")),r=i.arrayToMap("die|echo|empty|exit|eval|include|include_once|isset|list|require|require_once|return|print|unset".split("|")),o=i.arrayToMap("true|false|null|__CLASS__|__DIR__|__FILE__|__LINE__|__METHOD__|__FUNCTION__|__NAMESPACE__".split("|")),u=i.arrayToMap("$GLOBALS|$_SERVER|$_GET|$_POST|$_FILES|$_REQUEST|$_SESSION|$_ENV|$_COOKIE|$php_errormsg|$HTTP_RAW_POST_DATA|$http_response_header|$argc|$argv".split("|")),a=i.arrayToMap("key_exists|cairo_matrix_create_scale|cairo_matrix_create_translate|call_user_method|call_user_method_array|com_addref|com_get|com_invoke|com_isenum|com_load|com_release|com_set|connection_timeout|cubrid_load_from_glo|cubrid_new_glo|cubrid_save_to_glo|cubrid_send_glo|define_syslog_variables|dl|ereg|ereg_replace|eregi|eregi_replace|hw_documentattributes|hw_documentbodytag|hw_documentsize|hw_outputdocument|imagedashedline|maxdb_bind_param|maxdb_bind_result|maxdb_client_encoding|maxdb_close_long_data|maxdb_execute|maxdb_fetch|maxdb_get_metadata|maxdb_param_count|maxdb_send_long_data|mcrypt_ecb|mcrypt_generic_end|mime_content_type|mysql_createdb|mysql_dbname|mysql_db_query|mysql_drop_db|mysql_dropdb|mysql_escape_string|mysql_fieldflags|mysql_fieldflags|mysql_fieldname|mysql_fieldtable|mysql_fieldtype|mysql_freeresult|mysql_listdbs|mysql_list_fields|mysql_listfields|mysql_list_tables|mysql_listtables|mysql_numfields|mysql_numrows|mysql_selectdb|mysql_tablename|mysqli_bind_param|mysqli_bind_result|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_slave_query|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|PDF_add_annotation|PDF_add_bookmark|PDF_add_launchlink|PDF_add_locallink|PDF_add_note|PDF_add_outline|PDF_add_pdflink|PDF_add_weblink|PDF_attach_file|PDF_begin_page|PDF_begin_template|PDF_close_pdi|PDF_close|PDF_findfont|PDF_get_font|PDF_get_fontname|PDF_get_fontsize|PDF_get_image_height|PDF_get_image_width|PDF_get_majorversion|PDF_get_minorversion|PDF_get_pdi_parameter|PDF_get_pdi_value|PDF_open_ccitt|PDF_open_file|PDF_open_gif|PDF_open_image_file|PDF_open_image|PDF_open_jpeg|PDF_open_pdi|PDF_open_tiff|PDF_place_image|PDF_place_pdi_page|PDF_set_border_color|PDF_set_border_dash|PDF_set_border_style|PDF_set_char_spacing|PDF_set_duration|PDF_set_horiz_scaling|PDF_set_info_author|PDF_set_info_creator|PDF_set_info_keywords|PDF_set_info_subject|PDF_set_info_title|PDF_set_leading|PDF_set_text_matrix|PDF_set_text_rendering|PDF_set_text_rise|PDF_set_word_spacing|PDF_setgray_fill|PDF_setgray_stroke|PDF_setgray|PDF_setpolydash|PDF_setrgbcolor_fill|PDF_setrgbcolor_stroke|PDF_setrgbcolor|PDF_show_boxed|php_check_syntax|px_set_tablename|px_set_targetencoding|runkit_sandbox_output_handler|session_is_registered|session_register|session_unregisterset_magic_quotes_runtime|magic_quotes_runtime|set_socket_blocking|socket_set_blocking|set_socket_timeout|socket_set_timeout|split|spliti|sql_regcase".split("|")),f=i.arrayToMap("cfunction|old_function".split("|")),l=i.arrayToMap([]);this.$rules={start:[{token:"comment",regex:/(?:#|\/\/)(?:[^?]|\?[^>])*/},e.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/][gimy]*\\s*(?=[).,;]|$)"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"'",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"\\b(?:DEFAULT_INCLUDE_PATH|E_(?:ALL|CO(?:MPILE_(?:ERROR|WARNING)|RE_(?:ERROR|WARNING))|ERROR|NOTICE|PARSE|STRICT|USER_(?:ERROR|NOTICE|WARNING)|WARNING)|P(?:EAR_(?:EXTENSION_DIR|INSTALL_DIR)|HP_(?:BINDIR|CONFIG_FILE_(?:PATH|SCAN_DIR)|DATADIR|E(?:OL|XTENSION_DIR)|INT_(?:MAX|SIZE)|L(?:IBDIR|OCALSTATEDIR)|O(?:S|UTPUT_HANDLER_(?:CONT|END|START))|PREFIX|S(?:API|HLIB_SUFFIX|YSCONFDIR)|VERSION))|__COMPILER_HALT_OFFSET__)\\b"},{token:["keyword","text","support.class"],regex:"\\b(new)(\\s+)(\\w+)"},{token:["support.class","keyword.operator"],regex:"\\b(\\w+)(::)"},{token:"constant.language",regex:"\\b(?:A(?:B(?:DAY_(?:1|2|3|4|5|6|7)|MON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9))|LT_DIGITS|M_STR|SSERT_(?:ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(?:ASE_(?:LOWER|UPPER)|HAR_MAX|O(?:DESET|NNECTION_(?:ABORTED|NORMAL|TIMEOUT)|UNT_(?:NORMAL|RECURSIVE))|R(?:EDITS_(?:ALL|DOCS|FULLPAGE|G(?:ENERAL|ROUP)|MODULES|QA|SAPI)|NCYSTR|YPT_(?:BLOWFISH|EXT_DES|MD5|S(?:ALT_LENGTH|TD_DES)))|URRENCY_SYMBOL)|D(?:AY_(?:1|2|3|4|5|6|7)|ECIMAL_POINT|IRECTORY_SEPARATOR|_(?:FMT|T_FMT))|E(?:NT_(?:COMPAT|NOQUOTES|QUOTES)|RA(?:_(?:D_(?:FMT|T_FMT)|T_FMT|YEAR)|)|XTR_(?:IF_EXISTS|OVERWRITE|PREFIX_(?:ALL|I(?:F_EXISTS|NVALID)|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(?:ENTITIES|SPECIALCHARS)|IN(?:FO_(?:ALL|C(?:ONFIGURATION|REDITS)|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(?:ALL|PERDIR|SYSTEM|USER)|T_(?:CURR_SYMBOL|FRAC_DIGITS))|L(?:C_(?:ALL|C(?:OLLATE|TYPE)|M(?:ESSAGES|ONETARY)|NUMERIC|TIME)|O(?:CK_(?:EX|NB|SH|UN)|G_(?:A(?:LERT|UTH(?:PRIV|))|C(?:ONS|R(?:IT|ON))|D(?:AEMON|EBUG)|E(?:MERG|RR)|INFO|KERN|L(?:OCAL(?:0|1|2|3|4|5|6|7)|PR)|MAIL|N(?:DELAY|EWS|O(?:TICE|WAIT))|ODELAY|P(?:ERROR|ID)|SYSLOG|U(?:SER|UCP)|WARNING)))|M(?:ON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|_(?:1_PI|2_(?:PI|SQRTPI)|E|L(?:N(?:10|2)|OG(?:10E|2E))|PI(?:_(?:2|4)|)|SQRT(?:1_2|2)))|N(?:EGATIVE_SIGN|O(?:EXPR|STR)|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|P(?:ATH(?:INFO_(?:BASENAME|DIRNAME|EXTENSION)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|RADIXCHAR|S(?:EEK_(?:CUR|END|SET)|ORT_(?:ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(?:BOTH|LEFT|RIGHT))|T(?:HOUS(?:ANDS_SEP|EP)|_FMT(?:_AMPM|))|YES(?:EXPR|STR)|STD(?:IN|OUT|ERR))\\b"},{token:function(e){return n.hasOwnProperty(e)?"keyword":o.hasOwnProperty(e)?"constant.language":u.hasOwnProperty(e)?"variable.language":l.hasOwnProperty(e)?"invalid.illegal":t.hasOwnProperty(e)?"support.function":e=="debugger"?"invalid.deprecated":e.match(/^(\$[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*|self|parent)$/)?"variable":"identifier"},regex:/[a-zA-Z_$\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*/},{onMatch:function(e,t,n){e=e.substr(3);if(e[0]=="'"||e[0]=='"')e=e.slice(1,-1);return n.unshift(this.next,e),"markup.list"},regex:/<<<(?:\w+|'\w+'|"\w+")$/,next:"heredoc"},{token:"keyword.operator",regex:"::|!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|!=|!==|<=|>=|=>|<<=|>>=|>>>=|<>|<|>|=|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],heredoc:[{onMatch:function(e,t,n){return n[1]!=e?"string":(n.shift(),n.shift(),"markup.list")},regex:"^\\w+(?=;?$)",next:"start"},{token:"string",regex:".*"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"constant.language.escape",regex:'\\\\(?:[nrtvef\\\\"$]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})'},{token:"constant.language.escape",regex:/\$[\w]+(?:\[[\w\]+]|=>\w+)?/},{token:"constant.language.escape",regex:/\$\{[^"\}]+\}?/},{token:"string",regex:'"',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string",regex:"'",next:"start"},{defaultToken:"string"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(a,o);var f=function(){u.call(this);var e=[{token:"support.php_tag",regex:"<\\?(?:php|=)?",push:"php-start"}],t=[{token:"support.php_tag",regex:"\\?>",next:"pop"}];for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.embedRules(a,"php-",t,["start"]),this.normalizeRules()};r.inherits(f,u),t.PhpHighlightRules=f,t.PhpLangHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/php",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/php_highlight_rules","ace/mode/php_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/unicode"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./php_highlight_rules").PhpHighlightRules,o=e("./php_highlight_rules").PhpLangHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=e("../unicode"),p=function(e){this.inlinePhp=e&&e.inline;var t=this.inlinePhp?o:s;this.HighlightRules=t,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(p,i),function(){this.tokenRe=new RegExp("^["+h.packages.L+h.packages.Mn+h.packages.Mc+h.packages.Nd+h.packages.Pc+"_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+h.packages.L+h.packages.Mn+h.packages.Mc+h.packages.Nd+h.packages.Pc+"_]|s])+","g"),this.lineCommentStart=["//","#"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="php-start"){var u=t.match(/^.*[\{\(\[\:]\s*$/);u&&(r+=n)}else if(e=="php-doc-start"){if(o!="php-doc-start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new f(["ace"],"ace/mode/php_worker","PhpWorker");return t.attachToDocument(e.getDocument()),this.inlinePhp&&t.call("setOptions",[{inline:!0}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("ok",function(){e.clearAnnotations()}),t},this.$id="ace/mode/php"}.call(p.prototype),t.Mode=p}) \ No newline at end of file +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|pointer-events|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",s="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+r+")(\\.)(prototype)(\\.)("+r+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+r+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:r},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:r},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],comment:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],line_comment_regex_allowed:[i.getTagRule(),{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment",caseInsensitive:!0}],line_comment:[i.getTagRule(),{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment",caseInsensitive:!0}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!e||!e.noES6)&&this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:s},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(o,s),t.JavaScriptHighlightRules=o}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules(o,"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/php_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=e("./html_highlight_rules").HtmlHighlightRules,a=function(){var e=s,t=i.arrayToMap("abs|acos|acosh|addcslashes|addslashes|aggregate|aggregate_info|aggregate_methods|aggregate_methods_by_list|aggregate_methods_by_regexp|aggregate_properties|aggregate_properties_by_list|aggregate_properties_by_regexp|aggregation_info|amqpconnection|amqpexchange|amqpqueue|apache_child_terminate|apache_get_modules|apache_get_version|apache_getenv|apache_lookup_uri|apache_note|apache_request_headers|apache_reset_timeout|apache_response_headers|apache_setenv|apc_add|apc_bin_dump|apc_bin_dumpfile|apc_bin_load|apc_bin_loadfile|apc_cache_info|apc_cas|apc_clear_cache|apc_compile_file|apc_dec|apc_define_constants|apc_delete|apc_delete_file|apc_exists|apc_fetch|apc_inc|apc_load_constants|apc_sma_info|apc_store|apciterator|apd_breakpoint|apd_callstack|apd_clunk|apd_continue|apd_croak|apd_dump_function_table|apd_dump_persistent_resources|apd_dump_regular_resources|apd_echo|apd_get_active_symbols|apd_set_pprof_trace|apd_set_session|apd_set_session_trace|apd_set_session_trace_socket|appenditerator|array|array_change_key_case|array_chunk|array_combine|array_count_values|array_diff|array_diff_assoc|array_diff_key|array_diff_uassoc|array_diff_ukey|array_fill|array_fill_keys|array_filter|array_flip|array_intersect|array_intersect_assoc|array_intersect_key|array_intersect_uassoc|array_intersect_ukey|array_key_exists|array_keys|array_map|array_merge|array_merge_recursive|array_multisort|array_pad|array_pop|array_product|array_push|array_rand|array_reduce|array_replace|array_replace_recursive|array_reverse|array_search|array_shift|array_slice|array_splice|array_sum|array_udiff|array_udiff_assoc|array_udiff_uassoc|array_uintersect|array_uintersect_assoc|array_uintersect_uassoc|array_unique|array_unshift|array_values|array_walk|array_walk_recursive|arrayaccess|arrayiterator|arrayobject|arsort|asin|asinh|asort|assert|assert_options|atan|atan2|atanh|audioproperties|badfunctioncallexception|badmethodcallexception|base64_decode|base64_encode|base_convert|basename|bbcode_add_element|bbcode_add_smiley|bbcode_create|bbcode_destroy|bbcode_parse|bbcode_set_arg_parser|bbcode_set_flags|bcadd|bccomp|bcdiv|bcmod|bcmul|bcompiler_load|bcompiler_load_exe|bcompiler_parse_class|bcompiler_read|bcompiler_write_class|bcompiler_write_constant|bcompiler_write_exe_footer|bcompiler_write_file|bcompiler_write_footer|bcompiler_write_function|bcompiler_write_functions_from_file|bcompiler_write_header|bcompiler_write_included_filename|bcpow|bcpowmod|bcscale|bcsqrt|bcsub|bin2hex|bind_textdomain_codeset|bindec|bindtextdomain|bson_decode|bson_encode|bumpValue|bzclose|bzcompress|bzdecompress|bzerrno|bzerror|bzerrstr|bzflush|bzopen|bzread|bzwrite|cachingiterator|cairo|cairo_create|cairo_font_face_get_type|cairo_font_face_status|cairo_font_options_create|cairo_font_options_equal|cairo_font_options_get_antialias|cairo_font_options_get_hint_metrics|cairo_font_options_get_hint_style|cairo_font_options_get_subpixel_order|cairo_font_options_hash|cairo_font_options_merge|cairo_font_options_set_antialias|cairo_font_options_set_hint_metrics|cairo_font_options_set_hint_style|cairo_font_options_set_subpixel_order|cairo_font_options_status|cairo_format_stride_for_width|cairo_image_surface_create|cairo_image_surface_create_for_data|cairo_image_surface_create_from_png|cairo_image_surface_get_data|cairo_image_surface_get_format|cairo_image_surface_get_height|cairo_image_surface_get_stride|cairo_image_surface_get_width|cairo_matrix_create_scale|cairo_matrix_create_translate|cairo_matrix_invert|cairo_matrix_multiply|cairo_matrix_rotate|cairo_matrix_transform_distance|cairo_matrix_transform_point|cairo_matrix_translate|cairo_pattern_add_color_stop_rgb|cairo_pattern_add_color_stop_rgba|cairo_pattern_create_for_surface|cairo_pattern_create_linear|cairo_pattern_create_radial|cairo_pattern_create_rgb|cairo_pattern_create_rgba|cairo_pattern_get_color_stop_count|cairo_pattern_get_color_stop_rgba|cairo_pattern_get_extend|cairo_pattern_get_filter|cairo_pattern_get_linear_points|cairo_pattern_get_matrix|cairo_pattern_get_radial_circles|cairo_pattern_get_rgba|cairo_pattern_get_surface|cairo_pattern_get_type|cairo_pattern_set_extend|cairo_pattern_set_filter|cairo_pattern_set_matrix|cairo_pattern_status|cairo_pdf_surface_create|cairo_pdf_surface_set_size|cairo_ps_get_levels|cairo_ps_level_to_string|cairo_ps_surface_create|cairo_ps_surface_dsc_begin_page_setup|cairo_ps_surface_dsc_begin_setup|cairo_ps_surface_dsc_comment|cairo_ps_surface_get_eps|cairo_ps_surface_restrict_to_level|cairo_ps_surface_set_eps|cairo_ps_surface_set_size|cairo_scaled_font_create|cairo_scaled_font_extents|cairo_scaled_font_get_ctm|cairo_scaled_font_get_font_face|cairo_scaled_font_get_font_matrix|cairo_scaled_font_get_font_options|cairo_scaled_font_get_scale_matrix|cairo_scaled_font_get_type|cairo_scaled_font_glyph_extents|cairo_scaled_font_status|cairo_scaled_font_text_extents|cairo_surface_copy_page|cairo_surface_create_similar|cairo_surface_finish|cairo_surface_flush|cairo_surface_get_content|cairo_surface_get_device_offset|cairo_surface_get_font_options|cairo_surface_get_type|cairo_surface_mark_dirty|cairo_surface_mark_dirty_rectangle|cairo_surface_set_device_offset|cairo_surface_set_fallback_resolution|cairo_surface_show_page|cairo_surface_status|cairo_surface_write_to_png|cairo_svg_surface_create|cairo_svg_surface_restrict_to_version|cairo_svg_version_to_string|cairoantialias|cairocontent|cairocontext|cairoexception|cairoextend|cairofillrule|cairofilter|cairofontface|cairofontoptions|cairofontslant|cairofonttype|cairofontweight|cairoformat|cairogradientpattern|cairohintmetrics|cairohintstyle|cairoimagesurface|cairolineargradient|cairolinecap|cairolinejoin|cairomatrix|cairooperator|cairopath|cairopattern|cairopatterntype|cairopdfsurface|cairopslevel|cairopssurface|cairoradialgradient|cairoscaledfont|cairosolidpattern|cairostatus|cairosubpixelorder|cairosurface|cairosurfacepattern|cairosurfacetype|cairosvgsurface|cairosvgversion|cairotoyfontface|cal_days_in_month|cal_from_jd|cal_info|cal_to_jd|calcul_hmac|calculhmac|call_user_func|call_user_func_array|call_user_method|call_user_method_array|callbackfilteriterator|ceil|chdb|chdb_create|chdir|checkdate|checkdnsrr|chgrp|chmod|chop|chown|chr|chroot|chunk_split|class_alias|class_exists|class_implements|class_parents|classkit_import|classkit_method_add|classkit_method_copy|classkit_method_redefine|classkit_method_remove|classkit_method_rename|clearstatcache|clone|closedir|closelog|collator|com|com_addref|com_create_guid|com_event_sink|com_get|com_get_active_object|com_invoke|com_isenum|com_load|com_load_typelib|com_message_pump|com_print_typeinfo|com_propget|com_propput|com_propset|com_release|com_set|compact|connection_aborted|connection_status|connection_timeout|constant|construct|construct|construct|convert_cyr_string|convert_uudecode|convert_uuencode|copy|cos|cosh|count|count_chars|countable|counter_bump|counter_bump_value|counter_create|counter_get|counter_get_meta|counter_get_named|counter_get_value|counter_reset|counter_reset_value|crack_check|crack_closedict|crack_getlastmessage|crack_opendict|crc32|create_function|crypt|ctype_alnum|ctype_alpha|ctype_cntrl|ctype_digit|ctype_graph|ctype_lower|ctype_print|ctype_punct|ctype_space|ctype_upper|ctype_xdigit|cubrid_affected_rows|cubrid_bind|cubrid_client_encoding|cubrid_close|cubrid_close_prepare|cubrid_close_request|cubrid_col_get|cubrid_col_size|cubrid_column_names|cubrid_column_types|cubrid_commit|cubrid_connect|cubrid_connect_with_url|cubrid_current_oid|cubrid_data_seek|cubrid_db_name|cubrid_disconnect|cubrid_drop|cubrid_errno|cubrid_error|cubrid_error_code|cubrid_error_code_facility|cubrid_error_msg|cubrid_execute|cubrid_fetch|cubrid_fetch_array|cubrid_fetch_assoc|cubrid_fetch_field|cubrid_fetch_lengths|cubrid_fetch_object|cubrid_fetch_row|cubrid_field_flags|cubrid_field_len|cubrid_field_name|cubrid_field_seek|cubrid_field_table|cubrid_field_type|cubrid_free_result|cubrid_get|cubrid_get_autocommit|cubrid_get_charset|cubrid_get_class_name|cubrid_get_client_info|cubrid_get_db_parameter|cubrid_get_server_info|cubrid_insert_id|cubrid_is_instance|cubrid_list_dbs|cubrid_load_from_glo|cubrid_lob_close|cubrid_lob_export|cubrid_lob_get|cubrid_lob_send|cubrid_lob_size|cubrid_lock_read|cubrid_lock_write|cubrid_move_cursor|cubrid_new_glo|cubrid_next_result|cubrid_num_cols|cubrid_num_fields|cubrid_num_rows|cubrid_ping|cubrid_prepare|cubrid_put|cubrid_query|cubrid_real_escape_string|cubrid_result|cubrid_rollback|cubrid_save_to_glo|cubrid_schema|cubrid_send_glo|cubrid_seq_drop|cubrid_seq_insert|cubrid_seq_put|cubrid_set_add|cubrid_set_autocommit|cubrid_set_db_parameter|cubrid_set_drop|cubrid_unbuffered_query|cubrid_version|curl_close|curl_copy_handle|curl_errno|curl_error|curl_exec|curl_getinfo|curl_init|curl_multi_add_handle|curl_multi_close|curl_multi_exec|curl_multi_getcontent|curl_multi_info_read|curl_multi_init|curl_multi_remove_handle|curl_multi_select|curl_setopt|curl_setopt_array|curl_version|current|cyrus_authenticate|cyrus_bind|cyrus_close|cyrus_connect|cyrus_query|cyrus_unbind|date|date_add|date_create|date_create_from_format|date_date_set|date_default_timezone_get|date_default_timezone_set|date_diff|date_format|date_get_last_errors|date_interval_create_from_date_string|date_interval_format|date_isodate_set|date_modify|date_offset_get|date_parse|date_parse_from_format|date_sub|date_sun_info|date_sunrise|date_sunset|date_time_set|date_timestamp_get|date_timestamp_set|date_timezone_get|date_timezone_set|dateinterval|dateperiod|datetime|datetimezone|db2_autocommit|db2_bind_param|db2_client_info|db2_close|db2_column_privileges|db2_columns|db2_commit|db2_conn_error|db2_conn_errormsg|db2_connect|db2_cursor_type|db2_escape_string|db2_exec|db2_execute|db2_fetch_array|db2_fetch_assoc|db2_fetch_both|db2_fetch_object|db2_fetch_row|db2_field_display_size|db2_field_name|db2_field_num|db2_field_precision|db2_field_scale|db2_field_type|db2_field_width|db2_foreign_keys|db2_free_result|db2_free_stmt|db2_get_option|db2_last_insert_id|db2_lob_read|db2_next_result|db2_num_fields|db2_num_rows|db2_pclose|db2_pconnect|db2_prepare|db2_primary_keys|db2_procedure_columns|db2_procedures|db2_result|db2_rollback|db2_server_info|db2_set_option|db2_special_columns|db2_statistics|db2_stmt_error|db2_stmt_errormsg|db2_table_privileges|db2_tables|dba_close|dba_delete|dba_exists|dba_fetch|dba_firstkey|dba_handlers|dba_insert|dba_key_split|dba_list|dba_nextkey|dba_open|dba_optimize|dba_popen|dba_replace|dba_sync|dbase_add_record|dbase_close|dbase_create|dbase_delete_record|dbase_get_header_info|dbase_get_record|dbase_get_record_with_names|dbase_numfields|dbase_numrecords|dbase_open|dbase_pack|dbase_replace_record|dbplus_add|dbplus_aql|dbplus_chdir|dbplus_close|dbplus_curr|dbplus_errcode|dbplus_errno|dbplus_find|dbplus_first|dbplus_flush|dbplus_freealllocks|dbplus_freelock|dbplus_freerlocks|dbplus_getlock|dbplus_getunique|dbplus_info|dbplus_last|dbplus_lockrel|dbplus_next|dbplus_open|dbplus_prev|dbplus_rchperm|dbplus_rcreate|dbplus_rcrtexact|dbplus_rcrtlike|dbplus_resolve|dbplus_restorepos|dbplus_rkeys|dbplus_ropen|dbplus_rquery|dbplus_rrename|dbplus_rsecindex|dbplus_runlink|dbplus_rzap|dbplus_savepos|dbplus_setindex|dbplus_setindexbynumber|dbplus_sql|dbplus_tcl|dbplus_tremove|dbplus_undo|dbplus_undoprepare|dbplus_unlockrel|dbplus_unselect|dbplus_update|dbplus_xlockrel|dbplus_xunlockrel|dbx_close|dbx_compare|dbx_connect|dbx_error|dbx_escape_string|dbx_fetch_row|dbx_query|dbx_sort|dcgettext|dcngettext|deaggregate|debug_backtrace|debug_print_backtrace|debug_zval_dump|decbin|dechex|decoct|define|define_syslog_variables|defined|deg2rad|delete|dgettext|die|dio_close|dio_fcntl|dio_open|dio_read|dio_seek|dio_stat|dio_tcsetattr|dio_truncate|dio_write|dir|directoryiterator|dirname|disk_free_space|disk_total_space|diskfreespace|dl|dngettext|dns_check_record|dns_get_mx|dns_get_record|dom_import_simplexml|domainexception|domattr|domattribute_name|domattribute_set_value|domattribute_specified|domattribute_value|domcharacterdata|domcomment|domdocument|domdocument_add_root|domdocument_create_attribute|domdocument_create_cdata_section|domdocument_create_comment|domdocument_create_element|domdocument_create_element_ns|domdocument_create_entity_reference|domdocument_create_processing_instruction|domdocument_create_text_node|domdocument_doctype|domdocument_document_element|domdocument_dump_file|domdocument_dump_mem|domdocument_get_element_by_id|domdocument_get_elements_by_tagname|domdocument_html_dump_mem|domdocument_xinclude|domdocumentfragment|domdocumenttype|domdocumenttype_entities|domdocumenttype_internal_subset|domdocumenttype_name|domdocumenttype_notations|domdocumenttype_public_id|domdocumenttype_system_id|domelement|domelement_get_attribute|domelement_get_attribute_node|domelement_get_elements_by_tagname|domelement_has_attribute|domelement_remove_attribute|domelement_set_attribute|domelement_set_attribute_node|domelement_tagname|domentity|domentityreference|domexception|domimplementation|domnamednodemap|domnode|domnode_add_namespace|domnode_append_child|domnode_append_sibling|domnode_attributes|domnode_child_nodes|domnode_clone_node|domnode_dump_node|domnode_first_child|domnode_get_content|domnode_has_attributes|domnode_has_child_nodes|domnode_insert_before|domnode_is_blank_node|domnode_last_child|domnode_next_sibling|domnode_node_name|domnode_node_type|domnode_node_value|domnode_owner_document|domnode_parent_node|domnode_prefix|domnode_previous_sibling|domnode_remove_child|domnode_replace_child|domnode_replace_node|domnode_set_content|domnode_set_name|domnode_set_namespace|domnode_unlink_node|domnodelist|domnotation|domprocessinginstruction|domprocessinginstruction_data|domprocessinginstruction_target|domtext|domxml_new_doc|domxml_open_file|domxml_open_mem|domxml_version|domxml_xmltree|domxml_xslt_stylesheet|domxml_xslt_stylesheet_doc|domxml_xslt_stylesheet_file|domxml_xslt_version|domxpath|domxsltstylesheet_process|domxsltstylesheet_result_dump_file|domxsltstylesheet_result_dump_mem|dotnet|dotnet_load|doubleval|each|easter_date|easter_days|echo|empty|emptyiterator|enchant_broker_describe|enchant_broker_dict_exists|enchant_broker_free|enchant_broker_free_dict|enchant_broker_get_error|enchant_broker_init|enchant_broker_list_dicts|enchant_broker_request_dict|enchant_broker_request_pwl_dict|enchant_broker_set_ordering|enchant_dict_add_to_personal|enchant_dict_add_to_session|enchant_dict_check|enchant_dict_describe|enchant_dict_get_error|enchant_dict_is_in_session|enchant_dict_quick_check|enchant_dict_store_replacement|enchant_dict_suggest|end|ereg|ereg_replace|eregi|eregi_replace|error_get_last|error_log|error_reporting|errorexception|escapeshellarg|escapeshellcmd|eval|event_add|event_base_free|event_base_loop|event_base_loopbreak|event_base_loopexit|event_base_new|event_base_priority_init|event_base_set|event_buffer_base_set|event_buffer_disable|event_buffer_enable|event_buffer_fd_set|event_buffer_free|event_buffer_new|event_buffer_priority_set|event_buffer_read|event_buffer_set_callback|event_buffer_timeout_set|event_buffer_watermark_set|event_buffer_write|event_del|event_free|event_new|event_set|exception|exec|exif_imagetype|exif_read_data|exif_tagname|exif_thumbnail|exit|exp|expect_expectl|expect_popen|explode|expm1|export|export|extension_loaded|extract|ezmlm_hash|fam_cancel_monitor|fam_close|fam_monitor_collection|fam_monitor_directory|fam_monitor_file|fam_next_event|fam_open|fam_pending|fam_resume_monitor|fam_suspend_monitor|fbsql_affected_rows|fbsql_autocommit|fbsql_blob_size|fbsql_change_user|fbsql_clob_size|fbsql_close|fbsql_commit|fbsql_connect|fbsql_create_blob|fbsql_create_clob|fbsql_create_db|fbsql_data_seek|fbsql_database|fbsql_database_password|fbsql_db_query|fbsql_db_status|fbsql_drop_db|fbsql_errno|fbsql_error|fbsql_fetch_array|fbsql_fetch_assoc|fbsql_fetch_field|fbsql_fetch_lengths|fbsql_fetch_object|fbsql_fetch_row|fbsql_field_flags|fbsql_field_len|fbsql_field_name|fbsql_field_seek|fbsql_field_table|fbsql_field_type|fbsql_free_result|fbsql_get_autostart_info|fbsql_hostname|fbsql_insert_id|fbsql_list_dbs|fbsql_list_fields|fbsql_list_tables|fbsql_next_result|fbsql_num_fields|fbsql_num_rows|fbsql_password|fbsql_pconnect|fbsql_query|fbsql_read_blob|fbsql_read_clob|fbsql_result|fbsql_rollback|fbsql_rows_fetched|fbsql_select_db|fbsql_set_characterset|fbsql_set_lob_mode|fbsql_set_password|fbsql_set_transaction|fbsql_start_db|fbsql_stop_db|fbsql_table_name|fbsql_tablename|fbsql_username|fbsql_warnings|fclose|fdf_add_doc_javascript|fdf_add_template|fdf_close|fdf_create|fdf_enum_values|fdf_errno|fdf_error|fdf_get_ap|fdf_get_attachment|fdf_get_encoding|fdf_get_file|fdf_get_flags|fdf_get_opt|fdf_get_status|fdf_get_value|fdf_get_version|fdf_header|fdf_next_field_name|fdf_open|fdf_open_string|fdf_remove_item|fdf_save|fdf_save_string|fdf_set_ap|fdf_set_encoding|fdf_set_file|fdf_set_flags|fdf_set_javascript_action|fdf_set_on_import_javascript|fdf_set_opt|fdf_set_status|fdf_set_submit_form_action|fdf_set_target_frame|fdf_set_value|fdf_set_version|feof|fflush|fgetc|fgetcsv|fgets|fgetss|file|file_exists|file_get_contents|file_put_contents|fileatime|filectime|filegroup|fileinode|filemtime|fileowner|fileperms|filepro|filepro_fieldcount|filepro_fieldname|filepro_fieldtype|filepro_fieldwidth|filepro_retrieve|filepro_rowcount|filesize|filesystemiterator|filetype|filter_has_var|filter_id|filter_input|filter_input_array|filter_list|filter_var|filter_var_array|filteriterator|finfo_buffer|finfo_close|finfo_file|finfo_open|finfo_set_flags|floatval|flock|floor|flush|fmod|fnmatch|fopen|forward_static_call|forward_static_call_array|fpassthru|fprintf|fputcsv|fputs|fread|frenchtojd|fribidi_log2vis|fscanf|fseek|fsockopen|fstat|ftell|ftok|ftp_alloc|ftp_cdup|ftp_chdir|ftp_chmod|ftp_close|ftp_connect|ftp_delete|ftp_exec|ftp_fget|ftp_fput|ftp_get|ftp_get_option|ftp_login|ftp_mdtm|ftp_mkdir|ftp_nb_continue|ftp_nb_fget|ftp_nb_fput|ftp_nb_get|ftp_nb_put|ftp_nlist|ftp_pasv|ftp_put|ftp_pwd|ftp_quit|ftp_raw|ftp_rawlist|ftp_rename|ftp_rmdir|ftp_set_option|ftp_site|ftp_size|ftp_ssl_connect|ftp_systype|ftruncate|func_get_arg|func_get_args|func_num_args|function_exists|fwrite|gc_collect_cycles|gc_disable|gc_enable|gc_enabled|gd_info|gearmanclient|gearmanjob|gearmantask|gearmanworker|geoip_continent_code_by_name|geoip_country_code3_by_name|geoip_country_code_by_name|geoip_country_name_by_name|geoip_database_info|geoip_db_avail|geoip_db_filename|geoip_db_get_all_info|geoip_id_by_name|geoip_isp_by_name|geoip_org_by_name|geoip_record_by_name|geoip_region_by_name|geoip_region_name_by_code|geoip_time_zone_by_country_and_region|getMeta|getNamed|getValue|get_browser|get_called_class|get_cfg_var|get_class|get_class_methods|get_class_vars|get_current_user|get_declared_classes|get_declared_interfaces|get_defined_constants|get_defined_functions|get_defined_vars|get_extension_funcs|get_headers|get_html_translation_table|get_include_path|get_included_files|get_loaded_extensions|get_magic_quotes_gpc|get_magic_quotes_runtime|get_meta_tags|get_object_vars|get_parent_class|get_required_files|get_resource_type|getallheaders|getconstant|getconstants|getconstructor|getcwd|getdate|getdefaultproperties|getdoccomment|getendline|getenv|getextension|getextensionname|getfilename|gethostbyaddr|gethostbyname|gethostbynamel|gethostname|getimagesize|getinterfacenames|getinterfaces|getlastmod|getmethod|getmethods|getmodifiers|getmxrr|getmygid|getmyinode|getmypid|getmyuid|getname|getnamespacename|getopt|getparentclass|getproperties|getproperty|getprotobyname|getprotobynumber|getrandmax|getrusage|getservbyname|getservbyport|getshortname|getstartline|getstaticproperties|getstaticpropertyvalue|gettext|gettimeofday|gettype|glob|globiterator|gmagick|gmagickdraw|gmagickpixel|gmdate|gmmktime|gmp_abs|gmp_add|gmp_and|gmp_clrbit|gmp_cmp|gmp_com|gmp_div|gmp_div_q|gmp_div_qr|gmp_div_r|gmp_divexact|gmp_fact|gmp_gcd|gmp_gcdext|gmp_hamdist|gmp_init|gmp_intval|gmp_invert|gmp_jacobi|gmp_legendre|gmp_mod|gmp_mul|gmp_neg|gmp_nextprime|gmp_or|gmp_perfect_square|gmp_popcount|gmp_pow|gmp_powm|gmp_prob_prime|gmp_random|gmp_scan0|gmp_scan1|gmp_setbit|gmp_sign|gmp_sqrt|gmp_sqrtrem|gmp_strval|gmp_sub|gmp_testbit|gmp_xor|gmstrftime|gnupg_adddecryptkey|gnupg_addencryptkey|gnupg_addsignkey|gnupg_cleardecryptkeys|gnupg_clearencryptkeys|gnupg_clearsignkeys|gnupg_decrypt|gnupg_decryptverify|gnupg_encrypt|gnupg_encryptsign|gnupg_export|gnupg_geterror|gnupg_getprotocol|gnupg_import|gnupg_init|gnupg_keyinfo|gnupg_setarmor|gnupg_seterrormode|gnupg_setsignmode|gnupg_sign|gnupg_verify|gopher_parsedir|grapheme_extract|grapheme_stripos|grapheme_stristr|grapheme_strlen|grapheme_strpos|grapheme_strripos|grapheme_strrpos|grapheme_strstr|grapheme_substr|gregoriantojd|gupnp_context_get_host_ip|gupnp_context_get_port|gupnp_context_get_subscription_timeout|gupnp_context_host_path|gupnp_context_new|gupnp_context_set_subscription_timeout|gupnp_context_timeout_add|gupnp_context_unhost_path|gupnp_control_point_browse_start|gupnp_control_point_browse_stop|gupnp_control_point_callback_set|gupnp_control_point_new|gupnp_device_action_callback_set|gupnp_device_info_get|gupnp_device_info_get_service|gupnp_root_device_get_available|gupnp_root_device_get_relative_location|gupnp_root_device_new|gupnp_root_device_set_available|gupnp_root_device_start|gupnp_root_device_stop|gupnp_service_action_get|gupnp_service_action_return|gupnp_service_action_return_error|gupnp_service_action_set|gupnp_service_freeze_notify|gupnp_service_info_get|gupnp_service_info_get_introspection|gupnp_service_introspection_get_state_variable|gupnp_service_notify|gupnp_service_proxy_action_get|gupnp_service_proxy_action_set|gupnp_service_proxy_add_notify|gupnp_service_proxy_callback_set|gupnp_service_proxy_get_subscribed|gupnp_service_proxy_remove_notify|gupnp_service_proxy_set_subscribed|gupnp_service_thaw_notify|gzclose|gzcompress|gzdecode|gzdeflate|gzencode|gzeof|gzfile|gzgetc|gzgets|gzgetss|gzinflate|gzopen|gzpassthru|gzputs|gzread|gzrewind|gzseek|gztell|gzuncompress|gzwrite|halt_compiler|haruannotation|haruannotation_setborderstyle|haruannotation_sethighlightmode|haruannotation_seticon|haruannotation_setopened|harudestination|harudestination_setfit|harudestination_setfitb|harudestination_setfitbh|harudestination_setfitbv|harudestination_setfith|harudestination_setfitr|harudestination_setfitv|harudestination_setxyz|harudoc|harudoc_addpage|harudoc_addpagelabel|harudoc_construct|harudoc_createoutline|harudoc_getcurrentencoder|harudoc_getcurrentpage|harudoc_getencoder|harudoc_getfont|harudoc_getinfoattr|harudoc_getpagelayout|harudoc_getpagemode|harudoc_getstreamsize|harudoc_insertpage|harudoc_loadjpeg|harudoc_loadpng|harudoc_loadraw|harudoc_loadttc|harudoc_loadttf|harudoc_loadtype1|harudoc_output|harudoc_readfromstream|harudoc_reseterror|harudoc_resetstream|harudoc_save|harudoc_savetostream|harudoc_setcompressionmode|harudoc_setcurrentencoder|harudoc_setencryptionmode|harudoc_setinfoattr|harudoc_setinfodateattr|harudoc_setopenaction|harudoc_setpagelayout|harudoc_setpagemode|harudoc_setpagesconfiguration|harudoc_setpassword|harudoc_setpermission|harudoc_usecnsencodings|harudoc_usecnsfonts|harudoc_usecntencodings|harudoc_usecntfonts|harudoc_usejpencodings|harudoc_usejpfonts|harudoc_usekrencodings|harudoc_usekrfonts|haruencoder|haruencoder_getbytetype|haruencoder_gettype|haruencoder_getunicode|haruencoder_getwritingmode|haruexception|harufont|harufont_getascent|harufont_getcapheight|harufont_getdescent|harufont_getencodingname|harufont_getfontname|harufont_gettextwidth|harufont_getunicodewidth|harufont_getxheight|harufont_measuretext|haruimage|haruimage_getbitspercomponent|haruimage_getcolorspace|haruimage_getheight|haruimage_getsize|haruimage_getwidth|haruimage_setcolormask|haruimage_setmaskimage|haruoutline|haruoutline_setdestination|haruoutline_setopened|harupage|harupage_arc|harupage_begintext|harupage_circle|harupage_closepath|harupage_concat|harupage_createdestination|harupage_createlinkannotation|harupage_createtextannotation|harupage_createurlannotation|harupage_curveto|harupage_curveto2|harupage_curveto3|harupage_drawimage|harupage_ellipse|harupage_endpath|harupage_endtext|harupage_eofill|harupage_eofillstroke|harupage_fill|harupage_fillstroke|harupage_getcharspace|harupage_getcmykfill|harupage_getcmykstroke|harupage_getcurrentfont|harupage_getcurrentfontsize|harupage_getcurrentpos|harupage_getcurrenttextpos|harupage_getdash|harupage_getfillingcolorspace|harupage_getflatness|harupage_getgmode|harupage_getgrayfill|harupage_getgraystroke|harupage_getheight|harupage_gethorizontalscaling|harupage_getlinecap|harupage_getlinejoin|harupage_getlinewidth|harupage_getmiterlimit|harupage_getrgbfill|harupage_getrgbstroke|harupage_getstrokingcolorspace|harupage_gettextleading|harupage_gettextmatrix|harupage_gettextrenderingmode|harupage_gettextrise|harupage_gettextwidth|harupage_gettransmatrix|harupage_getwidth|harupage_getwordspace|harupage_lineto|harupage_measuretext|harupage_movetextpos|harupage_moveto|harupage_movetonextline|harupage_rectangle|harupage_setcharspace|harupage_setcmykfill|harupage_setcmykstroke|harupage_setdash|harupage_setflatness|harupage_setfontandsize|harupage_setgrayfill|harupage_setgraystroke|harupage_setheight|harupage_sethorizontalscaling|harupage_setlinecap|harupage_setlinejoin|harupage_setlinewidth|harupage_setmiterlimit|harupage_setrgbfill|harupage_setrgbstroke|harupage_setrotate|harupage_setsize|harupage_setslideshow|harupage_settextleading|harupage_settextmatrix|harupage_settextrenderingmode|harupage_settextrise|harupage_setwidth|harupage_setwordspace|harupage_showtext|harupage_showtextnextline|harupage_stroke|harupage_textout|harupage_textrect|hasconstant|hash|hash_algos|hash_copy|hash_file|hash_final|hash_hmac|hash_hmac_file|hash_init|hash_update|hash_update_file|hash_update_stream|hasmethod|hasproperty|header|header_register_callback|header_remove|headers_list|headers_sent|hebrev|hebrevc|hex2bin|hexdec|highlight_file|highlight_string|html_entity_decode|htmlentities|htmlspecialchars|htmlspecialchars_decode|http_build_cookie|http_build_query|http_build_str|http_build_url|http_cache_etag|http_cache_last_modified|http_chunked_decode|http_date|http_deflate|http_get|http_get_request_body|http_get_request_body_stream|http_get_request_headers|http_head|http_inflate|http_match_etag|http_match_modified|http_match_request_header|http_negotiate_charset|http_negotiate_content_type|http_negotiate_language|http_parse_cookie|http_parse_headers|http_parse_message|http_parse_params|http_persistent_handles_clean|http_persistent_handles_count|http_persistent_handles_ident|http_post_data|http_post_fields|http_put_data|http_put_file|http_put_stream|http_redirect|http_request|http_request_body_encode|http_request_method_exists|http_request_method_name|http_request_method_register|http_request_method_unregister|http_response_code|http_send_content_disposition|http_send_content_type|http_send_data|http_send_file|http_send_last_modified|http_send_status|http_send_stream|http_support|http_throttle|httpdeflatestream|httpdeflatestream_construct|httpdeflatestream_factory|httpdeflatestream_finish|httpdeflatestream_flush|httpdeflatestream_update|httpinflatestream|httpinflatestream_construct|httpinflatestream_factory|httpinflatestream_finish|httpinflatestream_flush|httpinflatestream_update|httpmessage|httpmessage_addheaders|httpmessage_construct|httpmessage_detach|httpmessage_factory|httpmessage_fromenv|httpmessage_fromstring|httpmessage_getbody|httpmessage_getheader|httpmessage_getheaders|httpmessage_gethttpversion|httpmessage_getparentmessage|httpmessage_getrequestmethod|httpmessage_getrequesturl|httpmessage_getresponsecode|httpmessage_getresponsestatus|httpmessage_gettype|httpmessage_guesscontenttype|httpmessage_prepend|httpmessage_reverse|httpmessage_send|httpmessage_setbody|httpmessage_setheaders|httpmessage_sethttpversion|httpmessage_setrequestmethod|httpmessage_setrequesturl|httpmessage_setresponsecode|httpmessage_setresponsestatus|httpmessage_settype|httpmessage_tomessagetypeobject|httpmessage_tostring|httpquerystring|httpquerystring_construct|httpquerystring_get|httpquerystring_mod|httpquerystring_set|httpquerystring_singleton|httpquerystring_toarray|httpquerystring_tostring|httpquerystring_xlate|httprequest|httprequest_addcookies|httprequest_addheaders|httprequest_addpostfields|httprequest_addpostfile|httprequest_addputdata|httprequest_addquerydata|httprequest_addrawpostdata|httprequest_addssloptions|httprequest_clearhistory|httprequest_construct|httprequest_enablecookies|httprequest_getcontenttype|httprequest_getcookies|httprequest_getheaders|httprequest_gethistory|httprequest_getmethod|httprequest_getoptions|httprequest_getpostfields|httprequest_getpostfiles|httprequest_getputdata|httprequest_getputfile|httprequest_getquerydata|httprequest_getrawpostdata|httprequest_getrawrequestmessage|httprequest_getrawresponsemessage|httprequest_getrequestmessage|httprequest_getresponsebody|httprequest_getresponsecode|httprequest_getresponsecookies|httprequest_getresponsedata|httprequest_getresponseheader|httprequest_getresponseinfo|httprequest_getresponsemessage|httprequest_getresponsestatus|httprequest_getssloptions|httprequest_geturl|httprequest_resetcookies|httprequest_send|httprequest_setcontenttype|httprequest_setcookies|httprequest_setheaders|httprequest_setmethod|httprequest_setoptions|httprequest_setpostfields|httprequest_setpostfiles|httprequest_setputdata|httprequest_setputfile|httprequest_setquerydata|httprequest_setrawpostdata|httprequest_setssloptions|httprequest_seturl|httprequestpool|httprequestpool_attach|httprequestpool_construct|httprequestpool_destruct|httprequestpool_detach|httprequestpool_getattachedrequests|httprequestpool_getfinishedrequests|httprequestpool_reset|httprequestpool_send|httprequestpool_socketperform|httprequestpool_socketselect|httpresponse|httpresponse_capture|httpresponse_getbuffersize|httpresponse_getcache|httpresponse_getcachecontrol|httpresponse_getcontentdisposition|httpresponse_getcontenttype|httpresponse_getdata|httpresponse_getetag|httpresponse_getfile|httpresponse_getgzip|httpresponse_getheader|httpresponse_getlastmodified|httpresponse_getrequestbody|httpresponse_getrequestbodystream|httpresponse_getrequestheaders|httpresponse_getstream|httpresponse_getthrottledelay|httpresponse_guesscontenttype|httpresponse_redirect|httpresponse_send|httpresponse_setbuffersize|httpresponse_setcache|httpresponse_setcachecontrol|httpresponse_setcontentdisposition|httpresponse_setcontenttype|httpresponse_setdata|httpresponse_setetag|httpresponse_setfile|httpresponse_setgzip|httpresponse_setheader|httpresponse_setlastmodified|httpresponse_setstream|httpresponse_setthrottledelay|httpresponse_status|hw_array2objrec|hw_changeobject|hw_children|hw_childrenobj|hw_close|hw_connect|hw_connection_info|hw_cp|hw_deleteobject|hw_docbyanchor|hw_docbyanchorobj|hw_document_attributes|hw_document_bodytag|hw_document_content|hw_document_setcontent|hw_document_size|hw_dummy|hw_edittext|hw_error|hw_errormsg|hw_free_document|hw_getanchors|hw_getanchorsobj|hw_getandlock|hw_getchildcoll|hw_getchildcollobj|hw_getchilddoccoll|hw_getchilddoccollobj|hw_getobject|hw_getobjectbyquery|hw_getobjectbyquerycoll|hw_getobjectbyquerycollobj|hw_getobjectbyqueryobj|hw_getparents|hw_getparentsobj|hw_getrellink|hw_getremote|hw_getremotechildren|hw_getsrcbydestobj|hw_gettext|hw_getusername|hw_identify|hw_incollections|hw_info|hw_inscoll|hw_insdoc|hw_insertanchors|hw_insertdocument|hw_insertobject|hw_mapid|hw_modifyobject|hw_mv|hw_new_document|hw_objrec2array|hw_output_document|hw_pconnect|hw_pipedocument|hw_root|hw_setlinkroot|hw_stat|hw_unlock|hw_who|hwapi_attribute|hwapi_attribute_key|hwapi_attribute_langdepvalue|hwapi_attribute_value|hwapi_attribute_values|hwapi_checkin|hwapi_checkout|hwapi_children|hwapi_content|hwapi_content_mimetype|hwapi_content_read|hwapi_copy|hwapi_dbstat|hwapi_dcstat|hwapi_dstanchors|hwapi_dstofsrcanchor|hwapi_error_count|hwapi_error_reason|hwapi_find|hwapi_ftstat|hwapi_hgcsp|hwapi_hwstat|hwapi_identify|hwapi_info|hwapi_insert|hwapi_insertanchor|hwapi_insertcollection|hwapi_insertdocument|hwapi_link|hwapi_lock|hwapi_move|hwapi_new_content|hwapi_object|hwapi_object_assign|hwapi_object_attreditable|hwapi_object_count|hwapi_object_insert|hwapi_object_new|hwapi_object_remove|hwapi_object_title|hwapi_object_value|hwapi_objectbyanchor|hwapi_parents|hwapi_reason_description|hwapi_reason_type|hwapi_remove|hwapi_replace|hwapi_setcommittedversion|hwapi_srcanchors|hwapi_srcsofdst|hwapi_unlock|hwapi_user|hwapi_userlist|hypot|ibase_add_user|ibase_affected_rows|ibase_backup|ibase_blob_add|ibase_blob_cancel|ibase_blob_close|ibase_blob_create|ibase_blob_echo|ibase_blob_get|ibase_blob_import|ibase_blob_info|ibase_blob_open|ibase_close|ibase_commit|ibase_commit_ret|ibase_connect|ibase_db_info|ibase_delete_user|ibase_drop_db|ibase_errcode|ibase_errmsg|ibase_execute|ibase_fetch_assoc|ibase_fetch_object|ibase_fetch_row|ibase_field_info|ibase_free_event_handler|ibase_free_query|ibase_free_result|ibase_gen_id|ibase_maintain_db|ibase_modify_user|ibase_name_result|ibase_num_fields|ibase_num_params|ibase_param_info|ibase_pconnect|ibase_prepare|ibase_query|ibase_restore|ibase_rollback|ibase_rollback_ret|ibase_server_info|ibase_service_attach|ibase_service_detach|ibase_set_event_handler|ibase_timefmt|ibase_trans|ibase_wait_event|iconv|iconv_get_encoding|iconv_mime_decode|iconv_mime_decode_headers|iconv_mime_encode|iconv_set_encoding|iconv_strlen|iconv_strpos|iconv_strrpos|iconv_substr|id3_get_frame_long_name|id3_get_frame_short_name|id3_get_genre_id|id3_get_genre_list|id3_get_genre_name|id3_get_tag|id3_get_version|id3_remove_tag|id3_set_tag|id3v2attachedpictureframe|id3v2frame|id3v2tag|idate|idn_to_ascii|idn_to_unicode|idn_to_utf8|ifx_affected_rows|ifx_blobinfile_mode|ifx_byteasvarchar|ifx_close|ifx_connect|ifx_copy_blob|ifx_create_blob|ifx_create_char|ifx_do|ifx_error|ifx_errormsg|ifx_fetch_row|ifx_fieldproperties|ifx_fieldtypes|ifx_free_blob|ifx_free_char|ifx_free_result|ifx_get_blob|ifx_get_char|ifx_getsqlca|ifx_htmltbl_result|ifx_nullformat|ifx_num_fields|ifx_num_rows|ifx_pconnect|ifx_prepare|ifx_query|ifx_textasvarchar|ifx_update_blob|ifx_update_char|ifxus_close_slob|ifxus_create_slob|ifxus_free_slob|ifxus_open_slob|ifxus_read_slob|ifxus_seek_slob|ifxus_tell_slob|ifxus_write_slob|ignore_user_abort|iis_add_server|iis_get_dir_security|iis_get_script_map|iis_get_server_by_comment|iis_get_server_by_path|iis_get_server_rights|iis_get_service_state|iis_remove_server|iis_set_app_settings|iis_set_dir_security|iis_set_script_map|iis_set_server_rights|iis_start_server|iis_start_service|iis_stop_server|iis_stop_service|image2wbmp|image_type_to_extension|image_type_to_mime_type|imagealphablending|imageantialias|imagearc|imagechar|imagecharup|imagecolorallocate|imagecolorallocatealpha|imagecolorat|imagecolorclosest|imagecolorclosestalpha|imagecolorclosesthwb|imagecolordeallocate|imagecolorexact|imagecolorexactalpha|imagecolormatch|imagecolorresolve|imagecolorresolvealpha|imagecolorset|imagecolorsforindex|imagecolorstotal|imagecolortransparent|imageconvolution|imagecopy|imagecopymerge|imagecopymergegray|imagecopyresampled|imagecopyresized|imagecreate|imagecreatefromgd|imagecreatefromgd2|imagecreatefromgd2part|imagecreatefromgif|imagecreatefromjpeg|imagecreatefrompng|imagecreatefromstring|imagecreatefromwbmp|imagecreatefromxbm|imagecreatefromxpm|imagecreatetruecolor|imagedashedline|imagedestroy|imageellipse|imagefill|imagefilledarc|imagefilledellipse|imagefilledpolygon|imagefilledrectangle|imagefilltoborder|imagefilter|imagefontheight|imagefontwidth|imageftbbox|imagefttext|imagegammacorrect|imagegd|imagegd2|imagegif|imagegrabscreen|imagegrabwindow|imageinterlace|imageistruecolor|imagejpeg|imagelayereffect|imageline|imageloadfont|imagepalettecopy|imagepng|imagepolygon|imagepsbbox|imagepsencodefont|imagepsextendfont|imagepsfreefont|imagepsloadfont|imagepsslantfont|imagepstext|imagerectangle|imagerotate|imagesavealpha|imagesetbrush|imagesetpixel|imagesetstyle|imagesetthickness|imagesettile|imagestring|imagestringup|imagesx|imagesy|imagetruecolortopalette|imagettfbbox|imagettftext|imagetypes|imagewbmp|imagexbm|imagick|imagick_adaptiveblurimage|imagick_adaptiveresizeimage|imagick_adaptivesharpenimage|imagick_adaptivethresholdimage|imagick_addimage|imagick_addnoiseimage|imagick_affinetransformimage|imagick_animateimages|imagick_annotateimage|imagick_appendimages|imagick_averageimages|imagick_blackthresholdimage|imagick_blurimage|imagick_borderimage|imagick_charcoalimage|imagick_chopimage|imagick_clear|imagick_clipimage|imagick_clippathimage|imagick_clone|imagick_clutimage|imagick_coalesceimages|imagick_colorfloodfillimage|imagick_colorizeimage|imagick_combineimages|imagick_commentimage|imagick_compareimagechannels|imagick_compareimagelayers|imagick_compareimages|imagick_compositeimage|imagick_construct|imagick_contrastimage|imagick_contraststretchimage|imagick_convolveimage|imagick_cropimage|imagick_cropthumbnailimage|imagick_current|imagick_cyclecolormapimage|imagick_decipherimage|imagick_deconstructimages|imagick_deleteimageartifact|imagick_despeckleimage|imagick_destroy|imagick_displayimage|imagick_displayimages|imagick_distortimage|imagick_drawimage|imagick_edgeimage|imagick_embossimage|imagick_encipherimage|imagick_enhanceimage|imagick_equalizeimage|imagick_evaluateimage|imagick_extentimage|imagick_flattenimages|imagick_flipimage|imagick_floodfillpaintimage|imagick_flopimage|imagick_frameimage|imagick_fximage|imagick_gammaimage|imagick_gaussianblurimage|imagick_getcolorspace|imagick_getcompression|imagick_getcompressionquality|imagick_getcopyright|imagick_getfilename|imagick_getfont|imagick_getformat|imagick_getgravity|imagick_gethomeurl|imagick_getimage|imagick_getimagealphachannel|imagick_getimageartifact|imagick_getimagebackgroundcolor|imagick_getimageblob|imagick_getimageblueprimary|imagick_getimagebordercolor|imagick_getimagechanneldepth|imagick_getimagechanneldistortion|imagick_getimagechanneldistortions|imagick_getimagechannelextrema|imagick_getimagechannelmean|imagick_getimagechannelrange|imagick_getimagechannelstatistics|imagick_getimageclipmask|imagick_getimagecolormapcolor|imagick_getimagecolors|imagick_getimagecolorspace|imagick_getimagecompose|imagick_getimagecompression|imagick_getimagecompressionquality|imagick_getimagedelay|imagick_getimagedepth|imagick_getimagedispose|imagick_getimagedistortion|imagick_getimageextrema|imagick_getimagefilename|imagick_getimageformat|imagick_getimagegamma|imagick_getimagegeometry|imagick_getimagegravity|imagick_getimagegreenprimary|imagick_getimageheight|imagick_getimagehistogram|imagick_getimageindex|imagick_getimageinterlacescheme|imagick_getimageinterpolatemethod|imagick_getimageiterations|imagick_getimagelength|imagick_getimagemagicklicense|imagick_getimagematte|imagick_getimagemattecolor|imagick_getimageorientation|imagick_getimagepage|imagick_getimagepixelcolor|imagick_getimageprofile|imagick_getimageprofiles|imagick_getimageproperties|imagick_getimageproperty|imagick_getimageredprimary|imagick_getimageregion|imagick_getimagerenderingintent|imagick_getimageresolution|imagick_getimagesblob|imagick_getimagescene|imagick_getimagesignature|imagick_getimagesize|imagick_getimagetickspersecond|imagick_getimagetotalinkdensity|imagick_getimagetype|imagick_getimageunits|imagick_getimagevirtualpixelmethod|imagick_getimagewhitepoint|imagick_getimagewidth|imagick_getinterlacescheme|imagick_getiteratorindex|imagick_getnumberimages|imagick_getoption|imagick_getpackagename|imagick_getpage|imagick_getpixeliterator|imagick_getpixelregioniterator|imagick_getpointsize|imagick_getquantumdepth|imagick_getquantumrange|imagick_getreleasedate|imagick_getresource|imagick_getresourcelimit|imagick_getsamplingfactors|imagick_getsize|imagick_getsizeoffset|imagick_getversion|imagick_hasnextimage|imagick_haspreviousimage|imagick_identifyimage|imagick_implodeimage|imagick_labelimage|imagick_levelimage|imagick_linearstretchimage|imagick_liquidrescaleimage|imagick_magnifyimage|imagick_mapimage|imagick_mattefloodfillimage|imagick_medianfilterimage|imagick_mergeimagelayers|imagick_minifyimage|imagick_modulateimage|imagick_montageimage|imagick_morphimages|imagick_mosaicimages|imagick_motionblurimage|imagick_negateimage|imagick_newimage|imagick_newpseudoimage|imagick_nextimage|imagick_normalizeimage|imagick_oilpaintimage|imagick_opaquepaintimage|imagick_optimizeimagelayers|imagick_orderedposterizeimage|imagick_paintfloodfillimage|imagick_paintopaqueimage|imagick_painttransparentimage|imagick_pingimage|imagick_pingimageblob|imagick_pingimagefile|imagick_polaroidimage|imagick_posterizeimage|imagick_previewimages|imagick_previousimage|imagick_profileimage|imagick_quantizeimage|imagick_quantizeimages|imagick_queryfontmetrics|imagick_queryfonts|imagick_queryformats|imagick_radialblurimage|imagick_raiseimage|imagick_randomthresholdimage|imagick_readimage|imagick_readimageblob|imagick_readimagefile|imagick_recolorimage|imagick_reducenoiseimage|imagick_removeimage|imagick_removeimageprofile|imagick_render|imagick_resampleimage|imagick_resetimagepage|imagick_resizeimage|imagick_rollimage|imagick_rotateimage|imagick_roundcorners|imagick_sampleimage|imagick_scaleimage|imagick_separateimagechannel|imagick_sepiatoneimage|imagick_setbackgroundcolor|imagick_setcolorspace|imagick_setcompression|imagick_setcompressionquality|imagick_setfilename|imagick_setfirstiterator|imagick_setfont|imagick_setformat|imagick_setgravity|imagick_setimage|imagick_setimagealphachannel|imagick_setimageartifact|imagick_setimagebackgroundcolor|imagick_setimagebias|imagick_setimageblueprimary|imagick_setimagebordercolor|imagick_setimagechanneldepth|imagick_setimageclipmask|imagick_setimagecolormapcolor|imagick_setimagecolorspace|imagick_setimagecompose|imagick_setimagecompression|imagick_setimagecompressionquality|imagick_setimagedelay|imagick_setimagedepth|imagick_setimagedispose|imagick_setimageextent|imagick_setimagefilename|imagick_setimageformat|imagick_setimagegamma|imagick_setimagegravity|imagick_setimagegreenprimary|imagick_setimageindex|imagick_setimageinterlacescheme|imagick_setimageinterpolatemethod|imagick_setimageiterations|imagick_setimagematte|imagick_setimagemattecolor|imagick_setimageopacity|imagick_setimageorientation|imagick_setimagepage|imagick_setimageprofile|imagick_setimageproperty|imagick_setimageredprimary|imagick_setimagerenderingintent|imagick_setimageresolution|imagick_setimagescene|imagick_setimagetickspersecond|imagick_setimagetype|imagick_setimageunits|imagick_setimagevirtualpixelmethod|imagick_setimagewhitepoint|imagick_setinterlacescheme|imagick_setiteratorindex|imagick_setlastiterator|imagick_setoption|imagick_setpage|imagick_setpointsize|imagick_setresolution|imagick_setresourcelimit|imagick_setsamplingfactors|imagick_setsize|imagick_setsizeoffset|imagick_settype|imagick_shadeimage|imagick_shadowimage|imagick_sharpenimage|imagick_shaveimage|imagick_shearimage|imagick_sigmoidalcontrastimage|imagick_sketchimage|imagick_solarizeimage|imagick_spliceimage|imagick_spreadimage|imagick_steganoimage|imagick_stereoimage|imagick_stripimage|imagick_swirlimage|imagick_textureimage|imagick_thresholdimage|imagick_thumbnailimage|imagick_tintimage|imagick_transformimage|imagick_transparentpaintimage|imagick_transposeimage|imagick_transverseimage|imagick_trimimage|imagick_uniqueimagecolors|imagick_unsharpmaskimage|imagick_valid|imagick_vignetteimage|imagick_waveimage|imagick_whitethresholdimage|imagick_writeimage|imagick_writeimagefile|imagick_writeimages|imagick_writeimagesfile|imagickdraw|imagickdraw_affine|imagickdraw_annotation|imagickdraw_arc|imagickdraw_bezier|imagickdraw_circle|imagickdraw_clear|imagickdraw_clone|imagickdraw_color|imagickdraw_comment|imagickdraw_composite|imagickdraw_construct|imagickdraw_destroy|imagickdraw_ellipse|imagickdraw_getclippath|imagickdraw_getcliprule|imagickdraw_getclipunits|imagickdraw_getfillcolor|imagickdraw_getfillopacity|imagickdraw_getfillrule|imagickdraw_getfont|imagickdraw_getfontfamily|imagickdraw_getfontsize|imagickdraw_getfontstyle|imagickdraw_getfontweight|imagickdraw_getgravity|imagickdraw_getstrokeantialias|imagickdraw_getstrokecolor|imagickdraw_getstrokedasharray|imagickdraw_getstrokedashoffset|imagickdraw_getstrokelinecap|imagickdraw_getstrokelinejoin|imagickdraw_getstrokemiterlimit|imagickdraw_getstrokeopacity|imagickdraw_getstrokewidth|imagickdraw_gettextalignment|imagickdraw_gettextantialias|imagickdraw_gettextdecoration|imagickdraw_gettextencoding|imagickdraw_gettextundercolor|imagickdraw_getvectorgraphics|imagickdraw_line|imagickdraw_matte|imagickdraw_pathclose|imagickdraw_pathcurvetoabsolute|imagickdraw_pathcurvetoquadraticbezierabsolute|imagickdraw_pathcurvetoquadraticbezierrelative|imagickdraw_pathcurvetoquadraticbeziersmoothabsolute|imagickdraw_pathcurvetoquadraticbeziersmoothrelative|imagickdraw_pathcurvetorelative|imagickdraw_pathcurvetosmoothabsolute|imagickdraw_pathcurvetosmoothrelative|imagickdraw_pathellipticarcabsolute|imagickdraw_pathellipticarcrelative|imagickdraw_pathfinish|imagickdraw_pathlinetoabsolute|imagickdraw_pathlinetohorizontalabsolute|imagickdraw_pathlinetohorizontalrelative|imagickdraw_pathlinetorelative|imagickdraw_pathlinetoverticalabsolute|imagickdraw_pathlinetoverticalrelative|imagickdraw_pathmovetoabsolute|imagickdraw_pathmovetorelative|imagickdraw_pathstart|imagickdraw_point|imagickdraw_polygon|imagickdraw_polyline|imagickdraw_pop|imagickdraw_popclippath|imagickdraw_popdefs|imagickdraw_poppattern|imagickdraw_push|imagickdraw_pushclippath|imagickdraw_pushdefs|imagickdraw_pushpattern|imagickdraw_rectangle|imagickdraw_render|imagickdraw_rotate|imagickdraw_roundrectangle|imagickdraw_scale|imagickdraw_setclippath|imagickdraw_setcliprule|imagickdraw_setclipunits|imagickdraw_setfillalpha|imagickdraw_setfillcolor|imagickdraw_setfillopacity|imagickdraw_setfillpatternurl|imagickdraw_setfillrule|imagickdraw_setfont|imagickdraw_setfontfamily|imagickdraw_setfontsize|imagickdraw_setfontstretch|imagickdraw_setfontstyle|imagickdraw_setfontweight|imagickdraw_setgravity|imagickdraw_setstrokealpha|imagickdraw_setstrokeantialias|imagickdraw_setstrokecolor|imagickdraw_setstrokedasharray|imagickdraw_setstrokedashoffset|imagickdraw_setstrokelinecap|imagickdraw_setstrokelinejoin|imagickdraw_setstrokemiterlimit|imagickdraw_setstrokeopacity|imagickdraw_setstrokepatternurl|imagickdraw_setstrokewidth|imagickdraw_settextalignment|imagickdraw_settextantialias|imagickdraw_settextdecoration|imagickdraw_settextencoding|imagickdraw_settextundercolor|imagickdraw_setvectorgraphics|imagickdraw_setviewbox|imagickdraw_skewx|imagickdraw_skewy|imagickdraw_translate|imagickpixel|imagickpixel_clear|imagickpixel_construct|imagickpixel_destroy|imagickpixel_getcolor|imagickpixel_getcolorasstring|imagickpixel_getcolorcount|imagickpixel_getcolorvalue|imagickpixel_gethsl|imagickpixel_issimilar|imagickpixel_setcolor|imagickpixel_setcolorvalue|imagickpixel_sethsl|imagickpixeliterator|imagickpixeliterator_clear|imagickpixeliterator_construct|imagickpixeliterator_destroy|imagickpixeliterator_getcurrentiteratorrow|imagickpixeliterator_getiteratorrow|imagickpixeliterator_getnextiteratorrow|imagickpixeliterator_getpreviousiteratorrow|imagickpixeliterator_newpixeliterator|imagickpixeliterator_newpixelregioniterator|imagickpixeliterator_resetiterator|imagickpixeliterator_setiteratorfirstrow|imagickpixeliterator_setiteratorlastrow|imagickpixeliterator_setiteratorrow|imagickpixeliterator_synciterator|imap_8bit|imap_alerts|imap_append|imap_base64|imap_binary|imap_body|imap_bodystruct|imap_check|imap_clearflag_full|imap_close|imap_create|imap_createmailbox|imap_delete|imap_deletemailbox|imap_errors|imap_expunge|imap_fetch_overview|imap_fetchbody|imap_fetchheader|imap_fetchmime|imap_fetchstructure|imap_fetchtext|imap_gc|imap_get_quota|imap_get_quotaroot|imap_getacl|imap_getmailboxes|imap_getsubscribed|imap_header|imap_headerinfo|imap_headers|imap_last_error|imap_list|imap_listmailbox|imap_listscan|imap_listsubscribed|imap_lsub|imap_mail|imap_mail_compose|imap_mail_copy|imap_mail_move|imap_mailboxmsginfo|imap_mime_header_decode|imap_msgno|imap_num_msg|imap_num_recent|imap_open|imap_ping|imap_qprint|imap_rename|imap_renamemailbox|imap_reopen|imap_rfc822_parse_adrlist|imap_rfc822_parse_headers|imap_rfc822_write_address|imap_savebody|imap_scan|imap_scanmailbox|imap_search|imap_set_quota|imap_setacl|imap_setflag_full|imap_sort|imap_status|imap_subscribe|imap_thread|imap_timeout|imap_uid|imap_undelete|imap_unsubscribe|imap_utf7_decode|imap_utf7_encode|imap_utf8|implementsinterface|implode|import_request_variables|in_array|include|include_once|inclued_get_data|inet_ntop|inet_pton|infiniteiterator|ingres_autocommit|ingres_autocommit_state|ingres_charset|ingres_close|ingres_commit|ingres_connect|ingres_cursor|ingres_errno|ingres_error|ingres_errsqlstate|ingres_escape_string|ingres_execute|ingres_fetch_array|ingres_fetch_assoc|ingres_fetch_object|ingres_fetch_proc_return|ingres_fetch_row|ingres_field_length|ingres_field_name|ingres_field_nullable|ingres_field_precision|ingres_field_scale|ingres_field_type|ingres_free_result|ingres_next_error|ingres_num_fields|ingres_num_rows|ingres_pconnect|ingres_prepare|ingres_query|ingres_result_seek|ingres_rollback|ingres_set_environment|ingres_unbuffered_query|ini_alter|ini_get|ini_get_all|ini_restore|ini_set|innamespace|inotify_add_watch|inotify_init|inotify_queue_len|inotify_read|inotify_rm_watch|interface_exists|intl_error_name|intl_get_error_code|intl_get_error_message|intl_is_failure|intldateformatter|intval|invalidargumentexception|invoke|invokeargs|ip2long|iptcembed|iptcparse|is_a|is_array|is_bool|is_callable|is_dir|is_double|is_executable|is_file|is_finite|is_float|is_infinite|is_int|is_integer|is_link|is_long|is_nan|is_null|is_numeric|is_object|is_readable|is_real|is_resource|is_scalar|is_soap_fault|is_string|is_subclass_of|is_uploaded_file|is_writable|is_writeable|isabstract|iscloneable|isdisabled|isfinal|isinstance|isinstantiable|isinterface|isinternal|isiterateable|isset|issubclassof|isuserdefined|iterator|iterator_apply|iterator_count|iterator_to_array|iteratoraggregate|iteratoriterator|java_last_exception_clear|java_last_exception_get|jddayofweek|jdmonthname|jdtofrench|jdtogregorian|jdtojewish|jdtojulian|jdtounix|jewishtojd|join|jpeg2wbmp|json_decode|json_encode|json_last_error|jsonserializable|judy|judy_type|judy_version|juliantojd|kadm5_chpass_principal|kadm5_create_principal|kadm5_delete_principal|kadm5_destroy|kadm5_flush|kadm5_get_policies|kadm5_get_principal|kadm5_get_principals|kadm5_init_with_password|kadm5_modify_principal|key|krsort|ksort|lcfirst|lcg_value|lchgrp|lchown|ldap_8859_to_t61|ldap_add|ldap_bind|ldap_close|ldap_compare|ldap_connect|ldap_count_entries|ldap_delete|ldap_dn2ufn|ldap_err2str|ldap_errno|ldap_error|ldap_explode_dn|ldap_first_attribute|ldap_first_entry|ldap_first_reference|ldap_free_result|ldap_get_attributes|ldap_get_dn|ldap_get_entries|ldap_get_option|ldap_get_values|ldap_get_values_len|ldap_list|ldap_mod_add|ldap_mod_del|ldap_mod_replace|ldap_modify|ldap_next_attribute|ldap_next_entry|ldap_next_reference|ldap_parse_reference|ldap_parse_result|ldap_read|ldap_rename|ldap_sasl_bind|ldap_search|ldap_set_option|ldap_set_rebind_proc|ldap_sort|ldap_start_tls|ldap_t61_to_8859|ldap_unbind|lengthexception|levenshtein|libxml_clear_errors|libxml_disable_entity_loader|libxml_get_errors|libxml_get_last_error|libxml_set_streams_context|libxml_use_internal_errors|libxmlerror|limititerator|link|linkinfo|list|locale|localeconv|localtime|log|log10|log1p|logicexception|long2ip|lstat|ltrim|lzf_compress|lzf_decompress|lzf_optimized_for|m_checkstatus|m_completeauthorizations|m_connect|m_connectionerror|m_deletetrans|m_destroyconn|m_destroyengine|m_getcell|m_getcellbynum|m_getcommadelimited|m_getheader|m_initconn|m_initengine|m_iscommadelimited|m_maxconntimeout|m_monitor|m_numcolumns|m_numrows|m_parsecommadelimited|m_responsekeys|m_responseparam|m_returnstatus|m_setblocking|m_setdropfile|m_setip|m_setssl|m_setssl_cafile|m_setssl_files|m_settimeout|m_sslcert_gen_hash|m_transactionssent|m_transinqueue|m_transkeyval|m_transnew|m_transsend|m_uwait|m_validateidentifier|m_verifyconnection|m_verifysslcert|magic_quotes_runtime|mail|mailparse_determine_best_xfer_encoding|mailparse_msg_create|mailparse_msg_extract_part|mailparse_msg_extract_part_file|mailparse_msg_extract_whole_part_file|mailparse_msg_free|mailparse_msg_get_part|mailparse_msg_get_part_data|mailparse_msg_get_structure|mailparse_msg_parse|mailparse_msg_parse_file|mailparse_rfc822_parse_addresses|mailparse_stream_encode|mailparse_uudecode_all|main|max|maxdb_affected_rows|maxdb_autocommit|maxdb_bind_param|maxdb_bind_result|maxdb_change_user|maxdb_character_set_name|maxdb_client_encoding|maxdb_close|maxdb_close_long_data|maxdb_commit|maxdb_connect|maxdb_connect_errno|maxdb_connect_error|maxdb_data_seek|maxdb_debug|maxdb_disable_reads_from_master|maxdb_disable_rpl_parse|maxdb_dump_debug_info|maxdb_embedded_connect|maxdb_enable_reads_from_master|maxdb_enable_rpl_parse|maxdb_errno|maxdb_error|maxdb_escape_string|maxdb_execute|maxdb_fetch|maxdb_fetch_array|maxdb_fetch_assoc|maxdb_fetch_field|maxdb_fetch_field_direct|maxdb_fetch_fields|maxdb_fetch_lengths|maxdb_fetch_object|maxdb_fetch_row|maxdb_field_count|maxdb_field_seek|maxdb_field_tell|maxdb_free_result|maxdb_get_client_info|maxdb_get_client_version|maxdb_get_host_info|maxdb_get_metadata|maxdb_get_proto_info|maxdb_get_server_info|maxdb_get_server_version|maxdb_info|maxdb_init|maxdb_insert_id|maxdb_kill|maxdb_master_query|maxdb_more_results|maxdb_multi_query|maxdb_next_result|maxdb_num_fields|maxdb_num_rows|maxdb_options|maxdb_param_count|maxdb_ping|maxdb_prepare|maxdb_query|maxdb_real_connect|maxdb_real_escape_string|maxdb_real_query|maxdb_report|maxdb_rollback|maxdb_rpl_parse_enabled|maxdb_rpl_probe|maxdb_rpl_query_type|maxdb_select_db|maxdb_send_long_data|maxdb_send_query|maxdb_server_end|maxdb_server_init|maxdb_set_opt|maxdb_sqlstate|maxdb_ssl_set|maxdb_stat|maxdb_stmt_affected_rows|maxdb_stmt_bind_param|maxdb_stmt_bind_result|maxdb_stmt_close|maxdb_stmt_close_long_data|maxdb_stmt_data_seek|maxdb_stmt_errno|maxdb_stmt_error|maxdb_stmt_execute|maxdb_stmt_fetch|maxdb_stmt_free_result|maxdb_stmt_init|maxdb_stmt_num_rows|maxdb_stmt_param_count|maxdb_stmt_prepare|maxdb_stmt_reset|maxdb_stmt_result_metadata|maxdb_stmt_send_long_data|maxdb_stmt_sqlstate|maxdb_stmt_store_result|maxdb_store_result|maxdb_thread_id|maxdb_thread_safe|maxdb_use_result|maxdb_warning_count|mb_check_encoding|mb_convert_case|mb_convert_encoding|mb_convert_kana|mb_convert_variables|mb_decode_mimeheader|mb_decode_numericentity|mb_detect_encoding|mb_detect_order|mb_encode_mimeheader|mb_encode_numericentity|mb_encoding_aliases|mb_ereg|mb_ereg_match|mb_ereg_replace|mb_ereg_search|mb_ereg_search_getpos|mb_ereg_search_getregs|mb_ereg_search_init|mb_ereg_search_pos|mb_ereg_search_regs|mb_ereg_search_setpos|mb_eregi|mb_eregi_replace|mb_get_info|mb_http_input|mb_http_output|mb_internal_encoding|mb_language|mb_list_encodings|mb_output_handler|mb_parse_str|mb_preferred_mime_name|mb_regex_encoding|mb_regex_set_options|mb_send_mail|mb_split|mb_strcut|mb_strimwidth|mb_stripos|mb_stristr|mb_strlen|mb_strpos|mb_strrchr|mb_strrichr|mb_strripos|mb_strrpos|mb_strstr|mb_strtolower|mb_strtoupper|mb_strwidth|mb_substitute_character|mb_substr|mb_substr_count|mcrypt_cbc|mcrypt_cfb|mcrypt_create_iv|mcrypt_decrypt|mcrypt_ecb|mcrypt_enc_get_algorithms_name|mcrypt_enc_get_block_size|mcrypt_enc_get_iv_size|mcrypt_enc_get_key_size|mcrypt_enc_get_modes_name|mcrypt_enc_get_supported_key_sizes|mcrypt_enc_is_block_algorithm|mcrypt_enc_is_block_algorithm_mode|mcrypt_enc_is_block_mode|mcrypt_enc_self_test|mcrypt_encrypt|mcrypt_generic|mcrypt_generic_deinit|mcrypt_generic_end|mcrypt_generic_init|mcrypt_get_block_size|mcrypt_get_cipher_name|mcrypt_get_iv_size|mcrypt_get_key_size|mcrypt_list_algorithms|mcrypt_list_modes|mcrypt_module_close|mcrypt_module_get_algo_block_size|mcrypt_module_get_algo_key_size|mcrypt_module_get_supported_key_sizes|mcrypt_module_is_block_algorithm|mcrypt_module_is_block_algorithm_mode|mcrypt_module_is_block_mode|mcrypt_module_open|mcrypt_module_self_test|mcrypt_ofb|md5|md5_file|mdecrypt_generic|memcache|memcache_debug|memcached|memory_get_peak_usage|memory_get_usage|messageformatter|metaphone|method_exists|mhash|mhash_count|mhash_get_block_size|mhash_get_hash_name|mhash_keygen_s2k|microtime|mime_content_type|min|ming_keypress|ming_setcubicthreshold|ming_setscale|ming_setswfcompression|ming_useconstants|ming_useswfversion|mkdir|mktime|money_format|mongo|mongobindata|mongocode|mongocollection|mongoconnectionexception|mongocursor|mongocursorexception|mongocursortimeoutexception|mongodate|mongodb|mongodbref|mongoexception|mongogridfs|mongogridfscursor|mongogridfsexception|mongogridfsfile|mongoid|mongoint32|mongoint64|mongomaxkey|mongominkey|mongoregex|mongotimestamp|move_uploaded_file|mpegfile|mqseries_back|mqseries_begin|mqseries_close|mqseries_cmit|mqseries_conn|mqseries_connx|mqseries_disc|mqseries_get|mqseries_inq|mqseries_open|mqseries_put|mqseries_put1|mqseries_set|mqseries_strerror|msession_connect|msession_count|msession_create|msession_destroy|msession_disconnect|msession_find|msession_get|msession_get_array|msession_get_data|msession_inc|msession_list|msession_listvar|msession_lock|msession_plugin|msession_randstr|msession_set|msession_set_array|msession_set_data|msession_timeout|msession_uniq|msession_unlock|msg_get_queue|msg_queue_exists|msg_receive|msg_remove_queue|msg_send|msg_set_queue|msg_stat_queue|msql|msql_affected_rows|msql_close|msql_connect|msql_create_db|msql_createdb|msql_data_seek|msql_db_query|msql_dbname|msql_drop_db|msql_error|msql_fetch_array|msql_fetch_field|msql_fetch_object|msql_fetch_row|msql_field_flags|msql_field_len|msql_field_name|msql_field_seek|msql_field_table|msql_field_type|msql_fieldflags|msql_fieldlen|msql_fieldname|msql_fieldtable|msql_fieldtype|msql_free_result|msql_list_dbs|msql_list_fields|msql_list_tables|msql_num_fields|msql_num_rows|msql_numfields|msql_numrows|msql_pconnect|msql_query|msql_regcase|msql_result|msql_select_db|msql_tablename|mssql_bind|mssql_close|mssql_connect|mssql_data_seek|mssql_execute|mssql_fetch_array|mssql_fetch_assoc|mssql_fetch_batch|mssql_fetch_field|mssql_fetch_object|mssql_fetch_row|mssql_field_length|mssql_field_name|mssql_field_seek|mssql_field_type|mssql_free_result|mssql_free_statement|mssql_get_last_message|mssql_guid_string|mssql_init|mssql_min_error_severity|mssql_min_message_severity|mssql_next_result|mssql_num_fields|mssql_num_rows|mssql_pconnect|mssql_query|mssql_result|mssql_rows_affected|mssql_select_db|mt_getrandmax|mt_rand|mt_srand|multipleiterator|mysql_affected_rows|mysql_client_encoding|mysql_close|mysql_connect|mysql_create_db|mysql_data_seek|mysql_db_name|mysql_db_query|mysql_drop_db|mysql_errno|mysql_error|mysql_escape_string|mysql_fetch_array|mysql_fetch_assoc|mysql_fetch_field|mysql_fetch_lengths|mysql_fetch_object|mysql_fetch_row|mysql_field_flags|mysql_field_len|mysql_field_name|mysql_field_seek|mysql_field_table|mysql_field_type|mysql_free_result|mysql_get_client_info|mysql_get_host_info|mysql_get_proto_info|mysql_get_server_info|mysql_info|mysql_insert_id|mysql_list_dbs|mysql_list_fields|mysql_list_processes|mysql_list_tables|mysql_num_fields|mysql_num_rows|mysql_pconnect|mysql_ping|mysql_query|mysql_real_escape_string|mysql_result|mysql_select_db|mysql_set_charset|mysql_stat|mysql_tablename|mysql_thread_id|mysql_unbuffered_query|mysqli|mysqli_bind_param|mysqli_bind_result|mysqli_client_encoding|mysqli_connect|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_driver|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_escape_string|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_report|mysqli_result|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_set_opt|mysqli_slave_query|mysqli_stmt|mysqli_warning|mysqlnd_ms_get_stats|mysqlnd_ms_query_is_select|mysqlnd_ms_set_user_pick_server|mysqlnd_qc_change_handler|mysqlnd_qc_clear_cache|mysqlnd_qc_get_cache_info|mysqlnd_qc_get_core_stats|mysqlnd_qc_get_handler|mysqlnd_qc_get_query_trace_log|mysqlnd_qc_set_user_handlers|natcasesort|natsort|ncurses_addch|ncurses_addchnstr|ncurses_addchstr|ncurses_addnstr|ncurses_addstr|ncurses_assume_default_colors|ncurses_attroff|ncurses_attron|ncurses_attrset|ncurses_baudrate|ncurses_beep|ncurses_bkgd|ncurses_bkgdset|ncurses_border|ncurses_bottom_panel|ncurses_can_change_color|ncurses_cbreak|ncurses_clear|ncurses_clrtobot|ncurses_clrtoeol|ncurses_color_content|ncurses_color_set|ncurses_curs_set|ncurses_def_prog_mode|ncurses_def_shell_mode|ncurses_define_key|ncurses_del_panel|ncurses_delay_output|ncurses_delch|ncurses_deleteln|ncurses_delwin|ncurses_doupdate|ncurses_echo|ncurses_echochar|ncurses_end|ncurses_erase|ncurses_erasechar|ncurses_filter|ncurses_flash|ncurses_flushinp|ncurses_getch|ncurses_getmaxyx|ncurses_getmouse|ncurses_getyx|ncurses_halfdelay|ncurses_has_colors|ncurses_has_ic|ncurses_has_il|ncurses_has_key|ncurses_hide_panel|ncurses_hline|ncurses_inch|ncurses_init|ncurses_init_color|ncurses_init_pair|ncurses_insch|ncurses_insdelln|ncurses_insertln|ncurses_insstr|ncurses_instr|ncurses_isendwin|ncurses_keyok|ncurses_keypad|ncurses_killchar|ncurses_longname|ncurses_meta|ncurses_mouse_trafo|ncurses_mouseinterval|ncurses_mousemask|ncurses_move|ncurses_move_panel|ncurses_mvaddch|ncurses_mvaddchnstr|ncurses_mvaddchstr|ncurses_mvaddnstr|ncurses_mvaddstr|ncurses_mvcur|ncurses_mvdelch|ncurses_mvgetch|ncurses_mvhline|ncurses_mvinch|ncurses_mvvline|ncurses_mvwaddstr|ncurses_napms|ncurses_new_panel|ncurses_newpad|ncurses_newwin|ncurses_nl|ncurses_nocbreak|ncurses_noecho|ncurses_nonl|ncurses_noqiflush|ncurses_noraw|ncurses_pair_content|ncurses_panel_above|ncurses_panel_below|ncurses_panel_window|ncurses_pnoutrefresh|ncurses_prefresh|ncurses_putp|ncurses_qiflush|ncurses_raw|ncurses_refresh|ncurses_replace_panel|ncurses_reset_prog_mode|ncurses_reset_shell_mode|ncurses_resetty|ncurses_savetty|ncurses_scr_dump|ncurses_scr_init|ncurses_scr_restore|ncurses_scr_set|ncurses_scrl|ncurses_show_panel|ncurses_slk_attr|ncurses_slk_attroff|ncurses_slk_attron|ncurses_slk_attrset|ncurses_slk_clear|ncurses_slk_color|ncurses_slk_init|ncurses_slk_noutrefresh|ncurses_slk_refresh|ncurses_slk_restore|ncurses_slk_set|ncurses_slk_touch|ncurses_standend|ncurses_standout|ncurses_start_color|ncurses_termattrs|ncurses_termname|ncurses_timeout|ncurses_top_panel|ncurses_typeahead|ncurses_ungetch|ncurses_ungetmouse|ncurses_update_panels|ncurses_use_default_colors|ncurses_use_env|ncurses_use_extended_names|ncurses_vidattr|ncurses_vline|ncurses_waddch|ncurses_waddstr|ncurses_wattroff|ncurses_wattron|ncurses_wattrset|ncurses_wborder|ncurses_wclear|ncurses_wcolor_set|ncurses_werase|ncurses_wgetch|ncurses_whline|ncurses_wmouse_trafo|ncurses_wmove|ncurses_wnoutrefresh|ncurses_wrefresh|ncurses_wstandend|ncurses_wstandout|ncurses_wvline|newinstance|newinstanceargs|newt_bell|newt_button|newt_button_bar|newt_centered_window|newt_checkbox|newt_checkbox_get_value|newt_checkbox_set_flags|newt_checkbox_set_value|newt_checkbox_tree|newt_checkbox_tree_add_item|newt_checkbox_tree_find_item|newt_checkbox_tree_get_current|newt_checkbox_tree_get_entry_value|newt_checkbox_tree_get_multi_selection|newt_checkbox_tree_get_selection|newt_checkbox_tree_multi|newt_checkbox_tree_set_current|newt_checkbox_tree_set_entry|newt_checkbox_tree_set_entry_value|newt_checkbox_tree_set_width|newt_clear_key_buffer|newt_cls|newt_compact_button|newt_component_add_callback|newt_component_takes_focus|newt_create_grid|newt_cursor_off|newt_cursor_on|newt_delay|newt_draw_form|newt_draw_root_text|newt_entry|newt_entry_get_value|newt_entry_set|newt_entry_set_filter|newt_entry_set_flags|newt_finished|newt_form|newt_form_add_component|newt_form_add_components|newt_form_add_hot_key|newt_form_destroy|newt_form_get_current|newt_form_run|newt_form_set_background|newt_form_set_height|newt_form_set_size|newt_form_set_timer|newt_form_set_width|newt_form_watch_fd|newt_get_screen_size|newt_grid_add_components_to_form|newt_grid_basic_window|newt_grid_free|newt_grid_get_size|newt_grid_h_close_stacked|newt_grid_h_stacked|newt_grid_place|newt_grid_set_field|newt_grid_simple_window|newt_grid_v_close_stacked|newt_grid_v_stacked|newt_grid_wrapped_window|newt_grid_wrapped_window_at|newt_init|newt_label|newt_label_set_text|newt_listbox|newt_listbox_append_entry|newt_listbox_clear|newt_listbox_clear_selection|newt_listbox_delete_entry|newt_listbox_get_current|newt_listbox_get_selection|newt_listbox_insert_entry|newt_listbox_item_count|newt_listbox_select_item|newt_listbox_set_current|newt_listbox_set_current_by_key|newt_listbox_set_data|newt_listbox_set_entry|newt_listbox_set_width|newt_listitem|newt_listitem_get_data|newt_listitem_set|newt_open_window|newt_pop_help_line|newt_pop_window|newt_push_help_line|newt_radio_get_current|newt_radiobutton|newt_redraw_help_line|newt_reflow_text|newt_refresh|newt_resize_screen|newt_resume|newt_run_form|newt_scale|newt_scale_set|newt_scrollbar_set|newt_set_help_callback|newt_set_suspend_callback|newt_suspend|newt_textbox|newt_textbox_get_num_lines|newt_textbox_reflowed|newt_textbox_set_height|newt_textbox_set_text|newt_vertical_scrollbar|newt_wait_for_key|newt_win_choice|newt_win_entries|newt_win_menu|newt_win_message|newt_win_messagev|newt_win_ternary|next|ngettext|nl2br|nl_langinfo|norewinditerator|normalizer|notes_body|notes_copy_db|notes_create_db|notes_create_note|notes_drop_db|notes_find_note|notes_header_info|notes_list_msgs|notes_mark_read|notes_mark_unread|notes_nav_create|notes_search|notes_unread|notes_version|nsapi_request_headers|nsapi_response_headers|nsapi_virtual|nthmac|number_format|numberformatter|oauth|oauth_get_sbs|oauth_urlencode|oauthexception|oauthprovider|ob_clean|ob_deflatehandler|ob_end_clean|ob_end_flush|ob_etaghandler|ob_flush|ob_get_clean|ob_get_contents|ob_get_flush|ob_get_length|ob_get_level|ob_get_status|ob_gzhandler|ob_iconv_handler|ob_implicit_flush|ob_inflatehandler|ob_list_handlers|ob_start|ob_tidyhandler|oci_bind_array_by_name|oci_bind_by_name|oci_cancel|oci_client_version|oci_close|oci_collection_append|oci_collection_assign|oci_collection_element_assign|oci_collection_element_get|oci_collection_free|oci_collection_max|oci_collection_size|oci_collection_trim|oci_commit|oci_connect|oci_define_by_name|oci_error|oci_execute|oci_fetch|oci_fetch_all|oci_fetch_array|oci_fetch_assoc|oci_fetch_object|oci_fetch_row|oci_field_is_null|oci_field_name|oci_field_precision|oci_field_scale|oci_field_size|oci_field_type|oci_field_type_raw|oci_free_statement|oci_internal_debug|oci_lob_append|oci_lob_close|oci_lob_copy|oci_lob_eof|oci_lob_erase|oci_lob_export|oci_lob_flush|oci_lob_free|oci_lob_getbuffering|oci_lob_import|oci_lob_is_equal|oci_lob_load|oci_lob_read|oci_lob_rewind|oci_lob_save|oci_lob_savefile|oci_lob_seek|oci_lob_setbuffering|oci_lob_size|oci_lob_tell|oci_lob_truncate|oci_lob_write|oci_lob_writetemporary|oci_lob_writetofile|oci_new_collection|oci_new_connect|oci_new_cursor|oci_new_descriptor|oci_num_fields|oci_num_rows|oci_parse|oci_password_change|oci_pconnect|oci_result|oci_rollback|oci_server_version|oci_set_action|oci_set_client_identifier|oci_set_client_info|oci_set_edition|oci_set_module_name|oci_set_prefetch|oci_statement_type|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|octdec|odbc_autocommit|odbc_binmode|odbc_close|odbc_close_all|odbc_columnprivileges|odbc_columns|odbc_commit|odbc_connect|odbc_cursor|odbc_data_source|odbc_do|odbc_error|odbc_errormsg|odbc_exec|odbc_execute|odbc_fetch_array|odbc_fetch_into|odbc_fetch_object|odbc_fetch_row|odbc_field_len|odbc_field_name|odbc_field_num|odbc_field_precision|odbc_field_scale|odbc_field_type|odbc_foreignkeys|odbc_free_result|odbc_gettypeinfo|odbc_longreadlen|odbc_next_result|odbc_num_fields|odbc_num_rows|odbc_pconnect|odbc_prepare|odbc_primarykeys|odbc_procedurecolumns|odbc_procedures|odbc_result|odbc_result_all|odbc_rollback|odbc_setoption|odbc_specialcolumns|odbc_statistics|odbc_tableprivileges|odbc_tables|openal_buffer_create|openal_buffer_data|openal_buffer_destroy|openal_buffer_get|openal_buffer_loadwav|openal_context_create|openal_context_current|openal_context_destroy|openal_context_process|openal_context_suspend|openal_device_close|openal_device_open|openal_listener_get|openal_listener_set|openal_source_create|openal_source_destroy|openal_source_get|openal_source_pause|openal_source_play|openal_source_rewind|openal_source_set|openal_source_stop|openal_stream|opendir|openlog|openssl_cipher_iv_length|openssl_csr_export|openssl_csr_export_to_file|openssl_csr_get_public_key|openssl_csr_get_subject|openssl_csr_new|openssl_csr_sign|openssl_decrypt|openssl_dh_compute_key|openssl_digest|openssl_encrypt|openssl_error_string|openssl_free_key|openssl_get_cipher_methods|openssl_get_md_methods|openssl_get_privatekey|openssl_get_publickey|openssl_open|openssl_pkcs12_export|openssl_pkcs12_export_to_file|openssl_pkcs12_read|openssl_pkcs7_decrypt|openssl_pkcs7_encrypt|openssl_pkcs7_sign|openssl_pkcs7_verify|openssl_pkey_export|openssl_pkey_export_to_file|openssl_pkey_free|openssl_pkey_get_details|openssl_pkey_get_private|openssl_pkey_get_public|openssl_pkey_new|openssl_private_decrypt|openssl_private_encrypt|openssl_public_decrypt|openssl_public_encrypt|openssl_random_pseudo_bytes|openssl_seal|openssl_sign|openssl_verify|openssl_x509_check_private_key|openssl_x509_checkpurpose|openssl_x509_export|openssl_x509_export_to_file|openssl_x509_free|openssl_x509_parse|openssl_x509_read|ord|outeriterator|outofboundsexception|outofrangeexception|output_add_rewrite_var|output_reset_rewrite_vars|overflowexception|overload|override_function|ovrimos_close|ovrimos_commit|ovrimos_connect|ovrimos_cursor|ovrimos_exec|ovrimos_execute|ovrimos_fetch_into|ovrimos_fetch_row|ovrimos_field_len|ovrimos_field_name|ovrimos_field_num|ovrimos_field_type|ovrimos_free_result|ovrimos_longreadlen|ovrimos_num_fields|ovrimos_num_rows|ovrimos_prepare|ovrimos_result|ovrimos_result_all|ovrimos_rollback|pack|parentiterator|parse_ini_file|parse_ini_string|parse_str|parse_url|parsekit_compile_file|parsekit_compile_string|parsekit_func_arginfo|passthru|pathinfo|pclose|pcntl_alarm|pcntl_exec|pcntl_fork|pcntl_getpriority|pcntl_setpriority|pcntl_signal|pcntl_signal_dispatch|pcntl_sigprocmask|pcntl_sigtimedwait|pcntl_sigwaitinfo|pcntl_wait|pcntl_waitpid|pcntl_wexitstatus|pcntl_wifexited|pcntl_wifsignaled|pcntl_wifstopped|pcntl_wstopsig|pcntl_wtermsig|pdf_activate_item|pdf_add_annotation|pdf_add_bookmark|pdf_add_launchlink|pdf_add_locallink|pdf_add_nameddest|pdf_add_note|pdf_add_outline|pdf_add_pdflink|pdf_add_table_cell|pdf_add_textflow|pdf_add_thumbnail|pdf_add_weblink|pdf_arc|pdf_arcn|pdf_attach_file|pdf_begin_document|pdf_begin_font|pdf_begin_glyph|pdf_begin_item|pdf_begin_layer|pdf_begin_page|pdf_begin_page_ext|pdf_begin_pattern|pdf_begin_template|pdf_begin_template_ext|pdf_circle|pdf_clip|pdf_close|pdf_close_image|pdf_close_pdi|pdf_close_pdi_page|pdf_closepath|pdf_closepath_fill_stroke|pdf_closepath_stroke|pdf_concat|pdf_continue_text|pdf_create_3dview|pdf_create_action|pdf_create_annotation|pdf_create_bookmark|pdf_create_field|pdf_create_fieldgroup|pdf_create_gstate|pdf_create_pvf|pdf_create_textflow|pdf_curveto|pdf_define_layer|pdf_delete|pdf_delete_pvf|pdf_delete_table|pdf_delete_textflow|pdf_encoding_set_char|pdf_end_document|pdf_end_font|pdf_end_glyph|pdf_end_item|pdf_end_layer|pdf_end_page|pdf_end_page_ext|pdf_end_pattern|pdf_end_template|pdf_endpath|pdf_fill|pdf_fill_imageblock|pdf_fill_pdfblock|pdf_fill_stroke|pdf_fill_textblock|pdf_findfont|pdf_fit_image|pdf_fit_pdi_page|pdf_fit_table|pdf_fit_textflow|pdf_fit_textline|pdf_get_apiname|pdf_get_buffer|pdf_get_errmsg|pdf_get_errnum|pdf_get_font|pdf_get_fontname|pdf_get_fontsize|pdf_get_image_height|pdf_get_image_width|pdf_get_majorversion|pdf_get_minorversion|pdf_get_parameter|pdf_get_pdi_parameter|pdf_get_pdi_value|pdf_get_value|pdf_info_font|pdf_info_matchbox|pdf_info_table|pdf_info_textflow|pdf_info_textline|pdf_initgraphics|pdf_lineto|pdf_load_3ddata|pdf_load_font|pdf_load_iccprofile|pdf_load_image|pdf_makespotcolor|pdf_moveto|pdf_new|pdf_open_ccitt|pdf_open_file|pdf_open_gif|pdf_open_image|pdf_open_image_file|pdf_open_jpeg|pdf_open_memory_image|pdf_open_pdi|pdf_open_pdi_document|pdf_open_pdi_page|pdf_open_tiff|pdf_pcos_get_number|pdf_pcos_get_stream|pdf_pcos_get_string|pdf_place_image|pdf_place_pdi_page|pdf_process_pdi|pdf_rect|pdf_restore|pdf_resume_page|pdf_rotate|pdf_save|pdf_scale|pdf_set_border_color|pdf_set_border_dash|pdf_set_border_style|pdf_set_char_spacing|pdf_set_duration|pdf_set_gstate|pdf_set_horiz_scaling|pdf_set_info|pdf_set_info_author|pdf_set_info_creator|pdf_set_info_keywords|pdf_set_info_subject|pdf_set_info_title|pdf_set_layer_dependency|pdf_set_leading|pdf_set_parameter|pdf_set_text_matrix|pdf_set_text_pos|pdf_set_text_rendering|pdf_set_text_rise|pdf_set_value|pdf_set_word_spacing|pdf_setcolor|pdf_setdash|pdf_setdashpattern|pdf_setflat|pdf_setfont|pdf_setgray|pdf_setgray_fill|pdf_setgray_stroke|pdf_setlinecap|pdf_setlinejoin|pdf_setlinewidth|pdf_setmatrix|pdf_setmiterlimit|pdf_setpolydash|pdf_setrgbcolor|pdf_setrgbcolor_fill|pdf_setrgbcolor_stroke|pdf_shading|pdf_shading_pattern|pdf_shfill|pdf_show|pdf_show_boxed|pdf_show_xy|pdf_skew|pdf_stringwidth|pdf_stroke|pdf_suspend_page|pdf_translate|pdf_utf16_to_utf8|pdf_utf32_to_utf16|pdf_utf8_to_utf16|pdo|pdo_cubrid_schema|pdo_pgsqllobcreate|pdo_pgsqllobopen|pdo_pgsqllobunlink|pdo_sqlitecreateaggregate|pdo_sqlitecreatefunction|pdoexception|pdostatement|pfsockopen|pg_affected_rows|pg_cancel_query|pg_client_encoding|pg_close|pg_connect|pg_connection_busy|pg_connection_reset|pg_connection_status|pg_convert|pg_copy_from|pg_copy_to|pg_dbname|pg_delete|pg_end_copy|pg_escape_bytea|pg_escape_string|pg_execute|pg_fetch_all|pg_fetch_all_columns|pg_fetch_array|pg_fetch_assoc|pg_fetch_object|pg_fetch_result|pg_fetch_row|pg_field_is_null|pg_field_name|pg_field_num|pg_field_prtlen|pg_field_size|pg_field_table|pg_field_type|pg_field_type_oid|pg_free_result|pg_get_notify|pg_get_pid|pg_get_result|pg_host|pg_insert|pg_last_error|pg_last_notice|pg_last_oid|pg_lo_close|pg_lo_create|pg_lo_export|pg_lo_import|pg_lo_open|pg_lo_read|pg_lo_read_all|pg_lo_seek|pg_lo_tell|pg_lo_unlink|pg_lo_write|pg_meta_data|pg_num_fields|pg_num_rows|pg_options|pg_parameter_status|pg_pconnect|pg_ping|pg_port|pg_prepare|pg_put_line|pg_query|pg_query_params|pg_result_error|pg_result_error_field|pg_result_seek|pg_result_status|pg_select|pg_send_execute|pg_send_prepare|pg_send_query|pg_send_query_params|pg_set_client_encoding|pg_set_error_verbosity|pg_trace|pg_transaction_status|pg_tty|pg_unescape_bytea|pg_untrace|pg_update|pg_version|php_check_syntax|php_ini_loaded_file|php_ini_scanned_files|php_logo_guid|php_sapi_name|php_strip_whitespace|php_uname|phpcredits|phpinfo|phpversion|pi|png2wbmp|popen|pos|posix_access|posix_ctermid|posix_errno|posix_get_last_error|posix_getcwd|posix_getegid|posix_geteuid|posix_getgid|posix_getgrgid|posix_getgrnam|posix_getgroups|posix_getlogin|posix_getpgid|posix_getpgrp|posix_getpid|posix_getppid|posix_getpwnam|posix_getpwuid|posix_getrlimit|posix_getsid|posix_getuid|posix_initgroups|posix_isatty|posix_kill|posix_mkfifo|posix_mknod|posix_setegid|posix_seteuid|posix_setgid|posix_setpgid|posix_setsid|posix_setuid|posix_strerror|posix_times|posix_ttyname|posix_uname|pow|preg_filter|preg_grep|preg_last_error|preg_match|preg_match_all|preg_quote|preg_replace|preg_replace_callback|preg_split|prev|print|print_r|printer_abort|printer_close|printer_create_brush|printer_create_dc|printer_create_font|printer_create_pen|printer_delete_brush|printer_delete_dc|printer_delete_font|printer_delete_pen|printer_draw_bmp|printer_draw_chord|printer_draw_elipse|printer_draw_line|printer_draw_pie|printer_draw_rectangle|printer_draw_roundrect|printer_draw_text|printer_end_doc|printer_end_page|printer_get_option|printer_list|printer_logical_fontheight|printer_open|printer_select_brush|printer_select_font|printer_select_pen|printer_set_option|printer_start_doc|printer_start_page|printer_write|printf|proc_close|proc_get_status|proc_nice|proc_open|proc_terminate|property_exists|ps_add_bookmark|ps_add_launchlink|ps_add_locallink|ps_add_note|ps_add_pdflink|ps_add_weblink|ps_arc|ps_arcn|ps_begin_page|ps_begin_pattern|ps_begin_template|ps_circle|ps_clip|ps_close|ps_close_image|ps_closepath|ps_closepath_stroke|ps_continue_text|ps_curveto|ps_delete|ps_end_page|ps_end_pattern|ps_end_template|ps_fill|ps_fill_stroke|ps_findfont|ps_get_buffer|ps_get_parameter|ps_get_value|ps_hyphenate|ps_include_file|ps_lineto|ps_makespotcolor|ps_moveto|ps_new|ps_open_file|ps_open_image|ps_open_image_file|ps_open_memory_image|ps_place_image|ps_rect|ps_restore|ps_rotate|ps_save|ps_scale|ps_set_border_color|ps_set_border_dash|ps_set_border_style|ps_set_info|ps_set_parameter|ps_set_text_pos|ps_set_value|ps_setcolor|ps_setdash|ps_setflat|ps_setfont|ps_setgray|ps_setlinecap|ps_setlinejoin|ps_setlinewidth|ps_setmiterlimit|ps_setoverprintmode|ps_setpolydash|ps_shading|ps_shading_pattern|ps_shfill|ps_show|ps_show2|ps_show_boxed|ps_show_xy|ps_show_xy2|ps_string_geometry|ps_stringwidth|ps_stroke|ps_symbol|ps_symbol_name|ps_symbol_width|ps_translate|pspell_add_to_personal|pspell_add_to_session|pspell_check|pspell_clear_session|pspell_config_create|pspell_config_data_dir|pspell_config_dict_dir|pspell_config_ignore|pspell_config_mode|pspell_config_personal|pspell_config_repl|pspell_config_runtogether|pspell_config_save_repl|pspell_new|pspell_new_config|pspell_new_personal|pspell_save_wordlist|pspell_store_replacement|pspell_suggest|putenv|px_close|px_create_fp|px_date2string|px_delete|px_delete_record|px_get_field|px_get_info|px_get_parameter|px_get_record|px_get_schema|px_get_value|px_insert_record|px_new|px_numfields|px_numrecords|px_open_fp|px_put_record|px_retrieve_record|px_set_blob_file|px_set_parameter|px_set_tablename|px_set_targetencoding|px_set_value|px_timestamp2string|px_update_record|qdom_error|qdom_tree|quoted_printable_decode|quoted_printable_encode|quotemeta|rad2deg|radius_acct_open|radius_add_server|radius_auth_open|radius_close|radius_config|radius_create_request|radius_cvt_addr|radius_cvt_int|radius_cvt_string|radius_demangle|radius_demangle_mppe_key|radius_get_attr|radius_get_vendor_attr|radius_put_addr|radius_put_attr|radius_put_int|radius_put_string|radius_put_vendor_addr|radius_put_vendor_attr|radius_put_vendor_int|radius_put_vendor_string|radius_request_authenticator|radius_send_request|radius_server_secret|radius_strerror|rand|range|rangeexception|rar_wrapper_cache_stats|rararchive|rarentry|rarexception|rawurldecode|rawurlencode|read_exif_data|readdir|readfile|readgzfile|readline|readline_add_history|readline_callback_handler_install|readline_callback_handler_remove|readline_callback_read_char|readline_clear_history|readline_completion_function|readline_info|readline_list_history|readline_on_new_line|readline_read_history|readline_redisplay|readline_write_history|readlink|realpath|realpath_cache_get|realpath_cache_size|recode|recode_file|recode_string|recursivearrayiterator|recursivecachingiterator|recursivecallbackfilteriterator|recursivedirectoryiterator|recursivefilteriterator|recursiveiterator|recursiveiteratoriterator|recursiveregexiterator|recursivetreeiterator|reflection|reflectionclass|reflectionexception|reflectionextension|reflectionfunction|reflectionfunctionabstract|reflectionmethod|reflectionobject|reflectionparameter|reflectionproperty|reflector|regexiterator|register_shutdown_function|register_tick_function|rename|rename_function|require|require_once|reset|resetValue|resourcebundle|restore_error_handler|restore_exception_handler|restore_include_path|return|rewind|rewinddir|rmdir|round|rpm_close|rpm_get_tag|rpm_is_valid|rpm_open|rpm_version|rrd_create|rrd_error|rrd_fetch|rrd_first|rrd_graph|rrd_info|rrd_last|rrd_lastupdate|rrd_restore|rrd_tune|rrd_update|rrd_xport|rrdcreator|rrdgraph|rrdupdater|rsort|rtrim|runkit_class_adopt|runkit_class_emancipate|runkit_constant_add|runkit_constant_redefine|runkit_constant_remove|runkit_function_add|runkit_function_copy|runkit_function_redefine|runkit_function_remove|runkit_function_rename|runkit_import|runkit_lint|runkit_lint_file|runkit_method_add|runkit_method_copy|runkit_method_redefine|runkit_method_remove|runkit_method_rename|runkit_return_value_used|runkit_sandbox_output_handler|runkit_superglobals|runtimeexception|samconnection_commit|samconnection_connect|samconnection_constructor|samconnection_disconnect|samconnection_errno|samconnection_error|samconnection_isconnected|samconnection_peek|samconnection_peekall|samconnection_receive|samconnection_remove|samconnection_rollback|samconnection_send|samconnection_setDebug|samconnection_subscribe|samconnection_unsubscribe|sammessage_body|sammessage_constructor|sammessage_header|sca_createdataobject|sca_getservice|sca_localproxy_createdataobject|sca_soapproxy_createdataobject|scandir|sdo_das_changesummary_beginlogging|sdo_das_changesummary_endlogging|sdo_das_changesummary_getchangeddataobjects|sdo_das_changesummary_getchangetype|sdo_das_changesummary_getoldcontainer|sdo_das_changesummary_getoldvalues|sdo_das_changesummary_islogging|sdo_das_datafactory_addpropertytotype|sdo_das_datafactory_addtype|sdo_das_datafactory_getdatafactory|sdo_das_dataobject_getchangesummary|sdo_das_relational_applychanges|sdo_das_relational_construct|sdo_das_relational_createrootdataobject|sdo_das_relational_executepreparedquery|sdo_das_relational_executequery|sdo_das_setting_getlistindex|sdo_das_setting_getpropertyindex|sdo_das_setting_getpropertyname|sdo_das_setting_getvalue|sdo_das_setting_isset|sdo_das_xml_addtypes|sdo_das_xml_create|sdo_das_xml_createdataobject|sdo_das_xml_createdocument|sdo_das_xml_document_getrootdataobject|sdo_das_xml_document_getrootelementname|sdo_das_xml_document_getrootelementuri|sdo_das_xml_document_setencoding|sdo_das_xml_document_setxmldeclaration|sdo_das_xml_document_setxmlversion|sdo_das_xml_loadfile|sdo_das_xml_loadstring|sdo_das_xml_savefile|sdo_das_xml_savestring|sdo_datafactory_create|sdo_dataobject_clear|sdo_dataobject_createdataobject|sdo_dataobject_getcontainer|sdo_dataobject_getsequence|sdo_dataobject_gettypename|sdo_dataobject_gettypenamespaceuri|sdo_exception_getcause|sdo_list_insert|sdo_model_property_getcontainingtype|sdo_model_property_getdefault|sdo_model_property_getname|sdo_model_property_gettype|sdo_model_property_iscontainment|sdo_model_property_ismany|sdo_model_reflectiondataobject_construct|sdo_model_reflectiondataobject_export|sdo_model_reflectiondataobject_getcontainmentproperty|sdo_model_reflectiondataobject_getinstanceproperties|sdo_model_reflectiondataobject_gettype|sdo_model_type_getbasetype|sdo_model_type_getname|sdo_model_type_getnamespaceuri|sdo_model_type_getproperties|sdo_model_type_getproperty|sdo_model_type_isabstracttype|sdo_model_type_isdatatype|sdo_model_type_isinstance|sdo_model_type_isopentype|sdo_model_type_issequencedtype|sdo_sequence_getproperty|sdo_sequence_insert|sdo_sequence_move|seekableiterator|sem_acquire|sem_get|sem_release|sem_remove|serializable|serialize|session_cache_expire|session_cache_limiter|session_commit|session_decode|session_destroy|session_encode|session_get_cookie_params|session_id|session_is_registered|session_module_name|session_name|session_pgsql_add_error|session_pgsql_get_error|session_pgsql_get_field|session_pgsql_reset|session_pgsql_set_field|session_pgsql_status|session_regenerate_id|session_register|session_save_path|session_set_cookie_params|session_set_save_handler|session_start|session_unregister|session_unset|session_write_close|setCounterClass|set_error_handler|set_exception_handler|set_file_buffer|set_include_path|set_magic_quotes_runtime|set_socket_blocking|set_time_limit|setcookie|setlocale|setproctitle|setrawcookie|setstaticpropertyvalue|setthreadtitle|settype|sha1|sha1_file|shell_exec|shm_attach|shm_detach|shm_get_var|shm_has_var|shm_put_var|shm_remove|shm_remove_var|shmop_close|shmop_delete|shmop_open|shmop_read|shmop_size|shmop_write|show_source|shuffle|signeurlpaiement|similar_text|simplexml_import_dom|simplexml_load_file|simplexml_load_string|simplexmlelement|simplexmliterator|sin|sinh|sizeof|sleep|snmp|snmp2_get|snmp2_getnext|snmp2_real_walk|snmp2_set|snmp2_walk|snmp3_get|snmp3_getnext|snmp3_real_walk|snmp3_set|snmp3_walk|snmp_get_quick_print|snmp_get_valueretrieval|snmp_read_mib|snmp_set_enum_print|snmp_set_oid_numeric_print|snmp_set_oid_output_format|snmp_set_quick_print|snmp_set_valueretrieval|snmpget|snmpgetnext|snmprealwalk|snmpset|snmpwalk|snmpwalkoid|soapclient|soapfault|soapheader|soapparam|soapserver|soapvar|socket_accept|socket_bind|socket_clear_error|socket_close|socket_connect|socket_create|socket_create_listen|socket_create_pair|socket_get_option|socket_get_status|socket_getpeername|socket_getsockname|socket_last_error|socket_listen|socket_read|socket_recv|socket_recvfrom|socket_select|socket_send|socket_sendto|socket_set_block|socket_set_blocking|socket_set_nonblock|socket_set_option|socket_set_timeout|socket_shutdown|socket_strerror|socket_write|solr_get_version|solrclient|solrclientexception|solrdocument|solrdocumentfield|solrexception|solrgenericresponse|solrillegalargumentexception|solrillegaloperationexception|solrinputdocument|solrmodifiableparams|solrobject|solrparams|solrpingresponse|solrquery|solrqueryresponse|solrresponse|solrupdateresponse|solrutils|sort|soundex|sphinxclient|spl_autoload|spl_autoload_call|spl_autoload_extensions|spl_autoload_functions|spl_autoload_register|spl_autoload_unregister|spl_classes|spl_object_hash|splbool|spldoublylinkedlist|splenum|splfileinfo|splfileobject|splfixedarray|splfloat|splheap|splint|split|spliti|splmaxheap|splminheap|splobjectstorage|splobserver|splpriorityqueue|splqueue|splstack|splstring|splsubject|spltempfileobject|spoofchecker|sprintf|sql_regcase|sqlite3|sqlite3result|sqlite3stmt|sqlite_array_query|sqlite_busy_timeout|sqlite_changes|sqlite_close|sqlite_column|sqlite_create_aggregate|sqlite_create_function|sqlite_current|sqlite_error_string|sqlite_escape_string|sqlite_exec|sqlite_factory|sqlite_fetch_all|sqlite_fetch_array|sqlite_fetch_column_types|sqlite_fetch_object|sqlite_fetch_single|sqlite_fetch_string|sqlite_field_name|sqlite_has_more|sqlite_has_prev|sqlite_key|sqlite_last_error|sqlite_last_insert_rowid|sqlite_libencoding|sqlite_libversion|sqlite_next|sqlite_num_fields|sqlite_num_rows|sqlite_open|sqlite_popen|sqlite_prev|sqlite_query|sqlite_rewind|sqlite_seek|sqlite_single_query|sqlite_udf_decode_binary|sqlite_udf_encode_binary|sqlite_unbuffered_query|sqlite_valid|sqrt|srand|sscanf|ssdeep_fuzzy_compare|ssdeep_fuzzy_hash|ssdeep_fuzzy_hash_filename|ssh2_auth_hostbased_file|ssh2_auth_none|ssh2_auth_password|ssh2_auth_pubkey_file|ssh2_connect|ssh2_exec|ssh2_fetch_stream|ssh2_fingerprint|ssh2_methods_negotiated|ssh2_publickey_add|ssh2_publickey_init|ssh2_publickey_list|ssh2_publickey_remove|ssh2_scp_recv|ssh2_scp_send|ssh2_sftp|ssh2_sftp_lstat|ssh2_sftp_mkdir|ssh2_sftp_readlink|ssh2_sftp_realpath|ssh2_sftp_rename|ssh2_sftp_rmdir|ssh2_sftp_stat|ssh2_sftp_symlink|ssh2_sftp_unlink|ssh2_shell|ssh2_tunnel|stat|stats_absolute_deviation|stats_cdf_beta|stats_cdf_binomial|stats_cdf_cauchy|stats_cdf_chisquare|stats_cdf_exponential|stats_cdf_f|stats_cdf_gamma|stats_cdf_laplace|stats_cdf_logistic|stats_cdf_negative_binomial|stats_cdf_noncentral_chisquare|stats_cdf_noncentral_f|stats_cdf_poisson|stats_cdf_t|stats_cdf_uniform|stats_cdf_weibull|stats_covariance|stats_den_uniform|stats_dens_beta|stats_dens_cauchy|stats_dens_chisquare|stats_dens_exponential|stats_dens_f|stats_dens_gamma|stats_dens_laplace|stats_dens_logistic|stats_dens_negative_binomial|stats_dens_normal|stats_dens_pmf_binomial|stats_dens_pmf_hypergeometric|stats_dens_pmf_poisson|stats_dens_t|stats_dens_weibull|stats_harmonic_mean|stats_kurtosis|stats_rand_gen_beta|stats_rand_gen_chisquare|stats_rand_gen_exponential|stats_rand_gen_f|stats_rand_gen_funiform|stats_rand_gen_gamma|stats_rand_gen_ibinomial|stats_rand_gen_ibinomial_negative|stats_rand_gen_int|stats_rand_gen_ipoisson|stats_rand_gen_iuniform|stats_rand_gen_noncenral_chisquare|stats_rand_gen_noncentral_f|stats_rand_gen_noncentral_t|stats_rand_gen_normal|stats_rand_gen_t|stats_rand_get_seeds|stats_rand_phrase_to_seeds|stats_rand_ranf|stats_rand_setall|stats_skew|stats_standard_deviation|stats_stat_binomial_coef|stats_stat_correlation|stats_stat_gennch|stats_stat_independent_t|stats_stat_innerproduct|stats_stat_noncentral_t|stats_stat_paired_t|stats_stat_percentile|stats_stat_powersum|stats_variance|stomp|stomp_connect_error|stomp_version|stompexception|stompframe|str_getcsv|str_ireplace|str_pad|str_repeat|str_replace|str_rot13|str_shuffle|str_split|str_word_count|strcasecmp|strchr|strcmp|strcoll|strcspn|stream_bucket_append|stream_bucket_make_writeable|stream_bucket_new|stream_bucket_prepend|stream_context_create|stream_context_get_default|stream_context_get_options|stream_context_get_params|stream_context_set_default|stream_context_set_option|stream_context_set_params|stream_copy_to_stream|stream_encoding|stream_filter_append|stream_filter_prepend|stream_filter_register|stream_filter_remove|stream_get_contents|stream_get_filters|stream_get_line|stream_get_meta_data|stream_get_transports|stream_get_wrappers|stream_is_local|stream_notification_callback|stream_register_wrapper|stream_resolve_include_path|stream_select|stream_set_blocking|stream_set_read_buffer|stream_set_timeout|stream_set_write_buffer|stream_socket_accept|stream_socket_client|stream_socket_enable_crypto|stream_socket_get_name|stream_socket_pair|stream_socket_recvfrom|stream_socket_sendto|stream_socket_server|stream_socket_shutdown|stream_supports_lock|stream_wrapper_register|stream_wrapper_restore|stream_wrapper_unregister|streamwrapper|strftime|strip_tags|stripcslashes|stripos|stripslashes|stristr|strlen|strnatcasecmp|strnatcmp|strncasecmp|strncmp|strpbrk|strpos|strptime|strrchr|strrev|strripos|strrpos|strspn|strstr|strtok|strtolower|strtotime|strtoupper|strtr|strval|substr|substr_compare|substr_count|substr_replace|svm|svmmodel|svn_add|svn_auth_get_parameter|svn_auth_set_parameter|svn_blame|svn_cat|svn_checkout|svn_cleanup|svn_client_version|svn_commit|svn_delete|svn_diff|svn_export|svn_fs_abort_txn|svn_fs_apply_text|svn_fs_begin_txn2|svn_fs_change_node_prop|svn_fs_check_path|svn_fs_contents_changed|svn_fs_copy|svn_fs_delete|svn_fs_dir_entries|svn_fs_file_contents|svn_fs_file_length|svn_fs_is_dir|svn_fs_is_file|svn_fs_make_dir|svn_fs_make_file|svn_fs_node_created_rev|svn_fs_node_prop|svn_fs_props_changed|svn_fs_revision_prop|svn_fs_revision_root|svn_fs_txn_root|svn_fs_youngest_rev|svn_import|svn_log|svn_ls|svn_mkdir|svn_repos_create|svn_repos_fs|svn_repos_fs_begin_txn_for_commit|svn_repos_fs_commit_txn|svn_repos_hotcopy|svn_repos_open|svn_repos_recover|svn_revert|svn_status|svn_update|swf_actiongeturl|swf_actiongotoframe|swf_actiongotolabel|swf_actionnextframe|swf_actionplay|swf_actionprevframe|swf_actionsettarget|swf_actionstop|swf_actiontogglequality|swf_actionwaitforframe|swf_addbuttonrecord|swf_addcolor|swf_closefile|swf_definebitmap|swf_definefont|swf_defineline|swf_definepoly|swf_definerect|swf_definetext|swf_endbutton|swf_enddoaction|swf_endshape|swf_endsymbol|swf_fontsize|swf_fontslant|swf_fonttracking|swf_getbitmapinfo|swf_getfontinfo|swf_getframe|swf_labelframe|swf_lookat|swf_modifyobject|swf_mulcolor|swf_nextid|swf_oncondition|swf_openfile|swf_ortho|swf_ortho2|swf_perspective|swf_placeobject|swf_polarview|swf_popmatrix|swf_posround|swf_pushmatrix|swf_removeobject|swf_rotate|swf_scale|swf_setfont|swf_setframe|swf_shapearc|swf_shapecurveto|swf_shapecurveto3|swf_shapefillbitmapclip|swf_shapefillbitmaptile|swf_shapefilloff|swf_shapefillsolid|swf_shapelinesolid|swf_shapelineto|swf_shapemoveto|swf_showframe|swf_startbutton|swf_startdoaction|swf_startshape|swf_startsymbol|swf_textwidth|swf_translate|swf_viewport|swfaction|swfbitmap|swfbutton|swfdisplayitem|swffill|swffont|swffontchar|swfgradient|swfmorph|swfmovie|swfprebuiltclip|swfshape|swfsound|swfsoundinstance|swfsprite|swftext|swftextfield|swfvideostream|swish_construct|swish_getmetalist|swish_getpropertylist|swish_prepare|swish_query|swishresult_getmetalist|swishresult_stem|swishresults_getparsedwords|swishresults_getremovedstopwords|swishresults_nextresult|swishresults_seekresult|swishsearch_execute|swishsearch_resetlimit|swishsearch_setlimit|swishsearch_setphrasedelimiter|swishsearch_setsort|swishsearch_setstructure|sybase_affected_rows|sybase_close|sybase_connect|sybase_data_seek|sybase_deadlock_retry_count|sybase_fetch_array|sybase_fetch_assoc|sybase_fetch_field|sybase_fetch_object|sybase_fetch_row|sybase_field_seek|sybase_free_result|sybase_get_last_message|sybase_min_client_severity|sybase_min_error_severity|sybase_min_message_severity|sybase_min_server_severity|sybase_num_fields|sybase_num_rows|sybase_pconnect|sybase_query|sybase_result|sybase_select_db|sybase_set_message_handler|sybase_unbuffered_query|symlink|sys_get_temp_dir|sys_getloadavg|syslog|system|tag|tan|tanh|tcpwrap_check|tempnam|textdomain|tidy|tidy_access_count|tidy_config_count|tidy_diagnose|tidy_error_count|tidy_get_error_buffer|tidy_get_output|tidy_load_config|tidy_reset_config|tidy_save_config|tidy_set_encoding|tidy_setopt|tidy_warning_count|tidynode|time|time_nanosleep|time_sleep_until|timezone_abbreviations_list|timezone_identifiers_list|timezone_location_get|timezone_name_from_abbr|timezone_name_get|timezone_offset_get|timezone_open|timezone_transitions_get|timezone_version_get|tmpfile|token_get_all|token_name|tokyotyrant|tokyotyrantquery|tokyotyranttable|tostring|tostring|touch|transliterator|traversable|trigger_error|trim|uasort|ucfirst|ucwords|udm_add_search_limit|udm_alloc_agent|udm_alloc_agent_array|udm_api_version|udm_cat_list|udm_cat_path|udm_check_charset|udm_check_stored|udm_clear_search_limits|udm_close_stored|udm_crc32|udm_errno|udm_error|udm_find|udm_free_agent|udm_free_ispell_data|udm_free_res|udm_get_doc_count|udm_get_res_field|udm_get_res_param|udm_hash32|udm_load_ispell_data|udm_open_stored|udm_set_agent_param|uksort|umask|underflowexception|unexpectedvalueexception|uniqid|unixtojd|unlink|unpack|unregister_tick_function|unserialize|unset|urldecode|urlencode|use_soap_error_handler|user_error|usleep|usort|utf8_decode|utf8_encode|v8js|v8jsexception|var_dump|var_export|variant|variant_abs|variant_add|variant_and|variant_cast|variant_cat|variant_cmp|variant_date_from_timestamp|variant_date_to_timestamp|variant_div|variant_eqv|variant_fix|variant_get_type|variant_idiv|variant_imp|variant_int|variant_mod|variant_mul|variant_neg|variant_not|variant_or|variant_pow|variant_round|variant_set|variant_set_type|variant_sub|variant_xor|version_compare|vfprintf|virtual|vpopmail_add_alias_domain|vpopmail_add_alias_domain_ex|vpopmail_add_domain|vpopmail_add_domain_ex|vpopmail_add_user|vpopmail_alias_add|vpopmail_alias_del|vpopmail_alias_del_domain|vpopmail_alias_get|vpopmail_alias_get_all|vpopmail_auth_user|vpopmail_del_domain|vpopmail_del_domain_ex|vpopmail_del_user|vpopmail_error|vpopmail_passwd|vpopmail_set_user_quota|vprintf|vsprintf|w32api_deftype|w32api_init_dtype|w32api_invoke_function|w32api_register_function|w32api_set_call_method|wddx_add_vars|wddx_deserialize|wddx_packet_end|wddx_packet_start|wddx_serialize_value|wddx_serialize_vars|win32_continue_service|win32_create_service|win32_delete_service|win32_get_last_control_message|win32_pause_service|win32_ps_list_procs|win32_ps_stat_mem|win32_ps_stat_proc|win32_query_service_status|win32_set_service_status|win32_start_service|win32_start_service_ctrl_dispatcher|win32_stop_service|wincache_fcache_fileinfo|wincache_fcache_meminfo|wincache_lock|wincache_ocache_fileinfo|wincache_ocache_meminfo|wincache_refresh_if_changed|wincache_rplist_fileinfo|wincache_rplist_meminfo|wincache_scache_info|wincache_scache_meminfo|wincache_ucache_add|wincache_ucache_cas|wincache_ucache_clear|wincache_ucache_dec|wincache_ucache_delete|wincache_ucache_exists|wincache_ucache_get|wincache_ucache_inc|wincache_ucache_info|wincache_ucache_meminfo|wincache_ucache_set|wincache_unlock|wordwrap|xattr_get|xattr_list|xattr_remove|xattr_set|xattr_supported|xdiff_file_bdiff|xdiff_file_bdiff_size|xdiff_file_bpatch|xdiff_file_diff|xdiff_file_diff_binary|xdiff_file_merge3|xdiff_file_patch|xdiff_file_patch_binary|xdiff_file_rabdiff|xdiff_string_bdiff|xdiff_string_bdiff_size|xdiff_string_bpatch|xdiff_string_diff|xdiff_string_diff_binary|xdiff_string_merge3|xdiff_string_patch|xdiff_string_patch_binary|xdiff_string_rabdiff|xhprof_disable|xhprof_enable|xhprof_sample_disable|xhprof_sample_enable|xml_error_string|xml_get_current_byte_index|xml_get_current_column_number|xml_get_current_line_number|xml_get_error_code|xml_parse|xml_parse_into_struct|xml_parser_create|xml_parser_create_ns|xml_parser_free|xml_parser_get_option|xml_parser_set_option|xml_set_character_data_handler|xml_set_default_handler|xml_set_element_handler|xml_set_end_namespace_decl_handler|xml_set_external_entity_ref_handler|xml_set_notation_decl_handler|xml_set_object|xml_set_processing_instruction_handler|xml_set_start_namespace_decl_handler|xml_set_unparsed_entity_decl_handler|xmlreader|xmlrpc_decode|xmlrpc_decode_request|xmlrpc_encode|xmlrpc_encode_request|xmlrpc_get_type|xmlrpc_is_fault|xmlrpc_parse_method_descriptions|xmlrpc_server_add_introspection_data|xmlrpc_server_call_method|xmlrpc_server_create|xmlrpc_server_destroy|xmlrpc_server_register_introspection_callback|xmlrpc_server_register_method|xmlrpc_set_type|xmlwriter_end_attribute|xmlwriter_end_cdata|xmlwriter_end_comment|xmlwriter_end_document|xmlwriter_end_dtd|xmlwriter_end_dtd_attlist|xmlwriter_end_dtd_element|xmlwriter_end_dtd_entity|xmlwriter_end_element|xmlwriter_end_pi|xmlwriter_flush|xmlwriter_full_end_element|xmlwriter_open_memory|xmlwriter_open_uri|xmlwriter_output_memory|xmlwriter_set_indent|xmlwriter_set_indent_string|xmlwriter_start_attribute|xmlwriter_start_attribute_ns|xmlwriter_start_cdata|xmlwriter_start_comment|xmlwriter_start_document|xmlwriter_start_dtd|xmlwriter_start_dtd_attlist|xmlwriter_start_dtd_element|xmlwriter_start_dtd_entity|xmlwriter_start_element|xmlwriter_start_element_ns|xmlwriter_start_pi|xmlwriter_text|xmlwriter_write_attribute|xmlwriter_write_attribute_ns|xmlwriter_write_cdata|xmlwriter_write_comment|xmlwriter_write_dtd|xmlwriter_write_dtd_attlist|xmlwriter_write_dtd_element|xmlwriter_write_dtd_entity|xmlwriter_write_element|xmlwriter_write_element_ns|xmlwriter_write_pi|xmlwriter_write_raw|xpath_eval|xpath_eval_expression|xpath_new_context|xpath_register_ns|xpath_register_ns_auto|xptr_eval|xptr_new_context|xslt_backend_info|xslt_backend_name|xslt_backend_version|xslt_create|xslt_errno|xslt_error|xslt_free|xslt_getopt|xslt_process|xslt_set_base|xslt_set_encoding|xslt_set_error_handler|xslt_set_log|xslt_set_object|xslt_set_sax_handler|xslt_set_sax_handlers|xslt_set_scheme_handler|xslt_set_scheme_handlers|xslt_setopt|xsltprocessor|yaml_emit|yaml_emit_file|yaml_parse|yaml_parse_file|yaml_parse_url|yaz_addinfo|yaz_ccl_conf|yaz_ccl_parse|yaz_close|yaz_connect|yaz_database|yaz_element|yaz_errno|yaz_error|yaz_es|yaz_es_result|yaz_get_option|yaz_hits|yaz_itemorder|yaz_present|yaz_range|yaz_record|yaz_scan|yaz_scan_result|yaz_schema|yaz_search|yaz_set_option|yaz_sort|yaz_syntax|yaz_wait|yp_all|yp_cat|yp_err_string|yp_errno|yp_first|yp_get_default_domain|yp_master|yp_match|yp_next|yp_order|zend_logo_guid|zend_thread_id|zend_version|zip_close|zip_entry_close|zip_entry_compressedsize|zip_entry_compressionmethod|zip_entry_filesize|zip_entry_name|zip_entry_open|zip_entry_read|zip_open|zip_read|ziparchive|ziparchive_addemptydir|ziparchive_addfile|ziparchive_addfromstring|ziparchive_close|ziparchive_deleteindex|ziparchive_deletename|ziparchive_extractto|ziparchive_getarchivecomment|ziparchive_getcommentindex|ziparchive_getcommentname|ziparchive_getfromindex|ziparchive_getfromname|ziparchive_getnameindex|ziparchive_getstatusstring|ziparchive_getstream|ziparchive_locatename|ziparchive_open|ziparchive_renameindex|ziparchive_renamename|ziparchive_setCommentName|ziparchive_setarchivecomment|ziparchive_setcommentindex|ziparchive_statindex|ziparchive_statname|ziparchive_unchangeall|ziparchive_unchangearchive|ziparchive_unchangeindex|ziparchive_unchangename|zlib_get_coding_type".split("|")),n=i.arrayToMap("abstract|and|array|as|break|case|catch|class|clone|const|continue|declare|default|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|final|for|foreach|function|global|goto|if|implements|interface|instanceof|namespace|new|or|private|protected|public|static|switch|throw|try|use|var|while|xor".split("|")),r=i.arrayToMap("die|echo|empty|exit|eval|include|include_once|isset|list|require|require_once|return|print|unset".split("|")),o=i.arrayToMap("true|false|null|__CLASS__|__DIR__|__FILE__|__LINE__|__METHOD__|__FUNCTION__|__NAMESPACE__".split("|")),u=i.arrayToMap("$GLOBALS|$_SERVER|$_GET|$_POST|$_FILES|$_REQUEST|$_SESSION|$_ENV|$_COOKIE|$php_errormsg|$HTTP_RAW_POST_DATA|$http_response_header|$argc|$argv".split("|")),a=i.arrayToMap("key_exists|cairo_matrix_create_scale|cairo_matrix_create_translate|call_user_method|call_user_method_array|com_addref|com_get|com_invoke|com_isenum|com_load|com_release|com_set|connection_timeout|cubrid_load_from_glo|cubrid_new_glo|cubrid_save_to_glo|cubrid_send_glo|define_syslog_variables|dl|ereg|ereg_replace|eregi|eregi_replace|hw_documentattributes|hw_documentbodytag|hw_documentsize|hw_outputdocument|imagedashedline|maxdb_bind_param|maxdb_bind_result|maxdb_client_encoding|maxdb_close_long_data|maxdb_execute|maxdb_fetch|maxdb_get_metadata|maxdb_param_count|maxdb_send_long_data|mcrypt_ecb|mcrypt_generic_end|mime_content_type|mysql_createdb|mysql_dbname|mysql_db_query|mysql_drop_db|mysql_dropdb|mysql_escape_string|mysql_fieldflags|mysql_fieldflags|mysql_fieldname|mysql_fieldtable|mysql_fieldtype|mysql_freeresult|mysql_listdbs|mysql_list_fields|mysql_listfields|mysql_list_tables|mysql_listtables|mysql_numfields|mysql_numrows|mysql_selectdb|mysql_tablename|mysqli_bind_param|mysqli_bind_result|mysqli_disable_reads_from_master|mysqli_disable_rpl_parse|mysqli_enable_reads_from_master|mysqli_enable_rpl_parse|mysqli_execute|mysqli_fetch|mysqli_get_metadata|mysqli_master_query|mysqli_param_count|mysqli_rpl_parse_enabled|mysqli_rpl_probe|mysqli_rpl_query_type|mysqli_send_long_data|mysqli_send_query|mysqli_slave_query|ocibindbyname|ocicancel|ocicloselob|ocicollappend|ocicollassign|ocicollassignelem|ocicollgetelem|ocicollmax|ocicollsize|ocicolltrim|ocicolumnisnull|ocicolumnname|ocicolumnprecision|ocicolumnscale|ocicolumnsize|ocicolumntype|ocicolumntyperaw|ocicommit|ocidefinebyname|ocierror|ociexecute|ocifetch|ocifetchinto|ocifetchstatement|ocifreecollection|ocifreecursor|ocifreedesc|ocifreestatement|ociinternaldebug|ociloadlob|ocilogoff|ocilogon|ocinewcollection|ocinewcursor|ocinewdescriptor|ocinlogon|ocinumcols|ociparse|ociplogon|ociresult|ocirollback|ocirowcount|ocisavelob|ocisavelobfile|ociserverversion|ocisetprefetch|ocistatementtype|ociwritelobtofile|ociwritetemporarylob|PDF_add_annotation|PDF_add_bookmark|PDF_add_launchlink|PDF_add_locallink|PDF_add_note|PDF_add_outline|PDF_add_pdflink|PDF_add_weblink|PDF_attach_file|PDF_begin_page|PDF_begin_template|PDF_close_pdi|PDF_close|PDF_findfont|PDF_get_font|PDF_get_fontname|PDF_get_fontsize|PDF_get_image_height|PDF_get_image_width|PDF_get_majorversion|PDF_get_minorversion|PDF_get_pdi_parameter|PDF_get_pdi_value|PDF_open_ccitt|PDF_open_file|PDF_open_gif|PDF_open_image_file|PDF_open_image|PDF_open_jpeg|PDF_open_pdi|PDF_open_tiff|PDF_place_image|PDF_place_pdi_page|PDF_set_border_color|PDF_set_border_dash|PDF_set_border_style|PDF_set_char_spacing|PDF_set_duration|PDF_set_horiz_scaling|PDF_set_info_author|PDF_set_info_creator|PDF_set_info_keywords|PDF_set_info_subject|PDF_set_info_title|PDF_set_leading|PDF_set_text_matrix|PDF_set_text_rendering|PDF_set_text_rise|PDF_set_word_spacing|PDF_setgray_fill|PDF_setgray_stroke|PDF_setgray|PDF_setpolydash|PDF_setrgbcolor_fill|PDF_setrgbcolor_stroke|PDF_setrgbcolor|PDF_show_boxed|php_check_syntax|px_set_tablename|px_set_targetencoding|runkit_sandbox_output_handler|session_is_registered|session_register|session_unregisterset_magic_quotes_runtime|magic_quotes_runtime|set_socket_blocking|socket_set_blocking|set_socket_timeout|socket_set_timeout|split|spliti|sql_regcase".split("|")),f=i.arrayToMap("cfunction|old_function".split("|")),l=i.arrayToMap([]);this.$rules={start:[{token:"comment",regex:/(?:#|\/\/)(?:[^?]|\?[^>])*/},e.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/][gimy]*\\s*(?=[).,;]|$)"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"'",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language",regex:"\\b(?:DEFAULT_INCLUDE_PATH|E_(?:ALL|CO(?:MPILE_(?:ERROR|WARNING)|RE_(?:ERROR|WARNING))|ERROR|NOTICE|PARSE|STRICT|USER_(?:ERROR|NOTICE|WARNING)|WARNING)|P(?:EAR_(?:EXTENSION_DIR|INSTALL_DIR)|HP_(?:BINDIR|CONFIG_FILE_(?:PATH|SCAN_DIR)|DATADIR|E(?:OL|XTENSION_DIR)|INT_(?:MAX|SIZE)|L(?:IBDIR|OCALSTATEDIR)|O(?:S|UTPUT_HANDLER_(?:CONT|END|START))|PREFIX|S(?:API|HLIB_SUFFIX|YSCONFDIR)|VERSION))|__COMPILER_HALT_OFFSET__)\\b"},{token:["keyword","text","support.class"],regex:"\\b(new)(\\s+)(\\w+)"},{token:["support.class","keyword.operator"],regex:"\\b(\\w+)(::)"},{token:"constant.language",regex:"\\b(?:A(?:B(?:DAY_(?:1|2|3|4|5|6|7)|MON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9))|LT_DIGITS|M_STR|SSERT_(?:ACTIVE|BAIL|CALLBACK|QUIET_EVAL|WARNING))|C(?:ASE_(?:LOWER|UPPER)|HAR_MAX|O(?:DESET|NNECTION_(?:ABORTED|NORMAL|TIMEOUT)|UNT_(?:NORMAL|RECURSIVE))|R(?:EDITS_(?:ALL|DOCS|FULLPAGE|G(?:ENERAL|ROUP)|MODULES|QA|SAPI)|NCYSTR|YPT_(?:BLOWFISH|EXT_DES|MD5|S(?:ALT_LENGTH|TD_DES)))|URRENCY_SYMBOL)|D(?:AY_(?:1|2|3|4|5|6|7)|ECIMAL_POINT|IRECTORY_SEPARATOR|_(?:FMT|T_FMT))|E(?:NT_(?:COMPAT|NOQUOTES|QUOTES)|RA(?:_(?:D_(?:FMT|T_FMT)|T_FMT|YEAR)|)|XTR_(?:IF_EXISTS|OVERWRITE|PREFIX_(?:ALL|I(?:F_EXISTS|NVALID)|SAME)|SKIP))|FRAC_DIGITS|GROUPING|HTML_(?:ENTITIES|SPECIALCHARS)|IN(?:FO_(?:ALL|C(?:ONFIGURATION|REDITS)|ENVIRONMENT|GENERAL|LICENSE|MODULES|VARIABLES)|I_(?:ALL|PERDIR|SYSTEM|USER)|T_(?:CURR_SYMBOL|FRAC_DIGITS))|L(?:C_(?:ALL|C(?:OLLATE|TYPE)|M(?:ESSAGES|ONETARY)|NUMERIC|TIME)|O(?:CK_(?:EX|NB|SH|UN)|G_(?:A(?:LERT|UTH(?:PRIV|))|C(?:ONS|R(?:IT|ON))|D(?:AEMON|EBUG)|E(?:MERG|RR)|INFO|KERN|L(?:OCAL(?:0|1|2|3|4|5|6|7)|PR)|MAIL|N(?:DELAY|EWS|O(?:TICE|WAIT))|ODELAY|P(?:ERROR|ID)|SYSLOG|U(?:SER|UCP)|WARNING)))|M(?:ON_(?:1(?:0|1|2|)|2|3|4|5|6|7|8|9|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|_(?:1_PI|2_(?:PI|SQRTPI)|E|L(?:N(?:10|2)|OG(?:10E|2E))|PI(?:_(?:2|4)|)|SQRT(?:1_2|2)))|N(?:EGATIVE_SIGN|O(?:EXPR|STR)|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|P(?:ATH(?:INFO_(?:BASENAME|DIRNAME|EXTENSION)|_SEPARATOR)|M_STR|OSITIVE_SIGN|_(?:CS_PRECEDES|S(?:EP_BY_SPACE|IGN_POSN)))|RADIXCHAR|S(?:EEK_(?:CUR|END|SET)|ORT_(?:ASC|DESC|NUMERIC|REGULAR|STRING)|TR_PAD_(?:BOTH|LEFT|RIGHT))|T(?:HOUS(?:ANDS_SEP|EP)|_FMT(?:_AMPM|))|YES(?:EXPR|STR)|STD(?:IN|OUT|ERR))\\b"},{token:function(e){return n.hasOwnProperty(e)?"keyword":o.hasOwnProperty(e)?"constant.language":u.hasOwnProperty(e)?"variable.language":l.hasOwnProperty(e)?"invalid.illegal":t.hasOwnProperty(e)?"support.function":e=="debugger"?"invalid.deprecated":e.match(/^(\$[a-zA-Z_\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*|self|parent)$/)?"variable":"identifier"},regex:/[a-zA-Z_$\x7f-\uffff][a-zA-Z0-9_\x7f-\uffff]*/},{onMatch:function(e,t,n){e=e.substr(3);if(e[0]=="'"||e[0]=='"')e=e.slice(1,-1);return n.unshift(this.next,e),"markup.list"},regex:/<<<(?:\w+|'\w+'|"\w+")$/,next:"heredoc"},{token:"keyword.operator",regex:"::|!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|!=|!==|<=|>=|=>|<<=|>>=|>>>=|<>|<|>|=|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],heredoc:[{onMatch:function(e,t,n){return n[1]!=e?"string":(n.shift(),n.shift(),"markup.list")},regex:"^\\w+(?=;?$)",next:"start"},{token:"string",regex:".*"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:'\\\\(?:[nrtvef\\\\"$]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2})'},{token:"variable",regex:/\$[\w]+(?:\[[\w\]+]|[=\-]>\w+)?/},{token:"variable",regex:/\$\{[^"\}]+\}?/},{token:"string",regex:'"',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string",regex:"'",next:"start"},{defaultToken:"string"}]},this.embedRules(s,"doc-",[s.getEndRule("start")])};r.inherits(a,o);var f=function(){u.call(this);var e=[{token:"support.php_tag",regex:"<\\?(?:php|=)?",push:"php-start"}],t=[{token:"support.php_tag",regex:"\\?>",next:"pop"}];for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);this.embedRules(a,"php-",t,["start"]),this.normalizeRules()};r.inherits(f,u),t.PhpHighlightRules=f,t.PhpLangHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/css").CssBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("csslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:["manifest"],head:[],title:[],base:["href","target"],link:["href","hreflang","rel","media","type","sizes"],meta:["http-equiv","name","content","charset"],style:["type","media","scoped"],script:["charset","type","src","defer","async"],noscript:["href"],body:["onafterprint","onbeforeprint","onbeforeunload","onhashchange","onmessage","onoffline","onpopstate","onredo","onresize","onstorage","onundo","onunload"],section:[],nav:[],article:["pubdate"],aside:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],footer:[],address:[],main:[],p:[],hr:[],pre:[],blockquote:["cite"],ol:["start","reversed"],ul:[],li:["value"],dl:[],dt:[],dd:[],figure:[],figcaption:[],div:[],a:["href","target","ping","rel","media","hreflang","type"],em:[],strong:[],small:[],s:[],cite:[],q:["cite"],dfn:[],abbr:[],data:[],time:["datetime"],code:[],"var":[],samp:[],kbd:[],sub:[],sup:[],i:[],b:[],u:[],mark:[],ruby:[],rt:[],rp:[],bdi:[],bdo:[],span:[],br:[],wbr:[],ins:["cite","datetime"],del:["cite","datetime"],img:["alt","src","height","width","usemap","ismap"],iframe:["name","src","height","width","sandbox","seamless"],embed:["src","height","width","type"],object:["param","data","type","height","width","usemap","name","form","classid"],param:["name","value"],video:["src","autobuffer","autoplay","loop","controls","width","height","poster"],audio:["src","autobuffer","autoplay","loop","controls"],source:["src","type","media"],track:["kind","src","srclang","label","default"],canvas:["width","height"],map:["name"],area:["shape","coords","href","hreflang","alt","target","media","rel","ping","type"],svg:[],math:[],table:["summary"],caption:[],colgroup:["span"],col:["span"],tbody:[],thead:[],tfoot:[],tr:[],td:["headers","rowspan","colspan"],th:["headers","rowspan","colspan","scope"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],fieldset:["disabled","form","name"],legend:[],label:["form","for"],input:["type","accept","alt","autocomplete","checked","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","multiple","pattern","placeholder","readonly","required","size","src","step","width","files","value"],button:["autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","value","type"],select:["autofocus","disabled","form","multiple","name","size"],datalist:[],optgroup:["disabled","label"],option:["disabled","selected","label","value"],textarea:["autofocus","disabled","form","maxlength","name","placeholder","readonly","required","rows","cols","wrap"],keygen:["autofocus","challenge","disabled","form","keytype","name"],output:["for","form","name"],progress:["value","max"],meter:["value","min","max","low","high","optimum"],details:["open"],summary:[],command:["type","label","icon","disabled","checked","radiogroup","command"],menu:["type","label"],dialog:["open"]},a=Object.keys(u),c=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);return i?f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open")?this.getTagCompletions(e,t,n,r):f(i,"tag-whitespace")||f(i,"attribute-name")?this.getAttributeCompetions(e,t,n,r):[]:[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompetions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(u[i])),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})}}).call(c.prototype),t.HtmlCompletions=c}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/php",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/php_highlight_rules","ace/mode/php_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/unicode","ace/mode/html","ace/mode/javascript","ace/mode/css"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./php_highlight_rules").PhpHighlightRules,o=e("./php_highlight_rules").PhpLangHighlightRules,u=e("./matching_brace_outdent").MatchingBraceOutdent,a=e("../range").Range,f=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,h=e("../unicode"),p=e("./html").Mode,d=e("./javascript").Mode,v=e("./css").Mode,m=function(e){this.HighlightRules=o,this.$outdent=new u,this.$behaviour=new l,this.foldingRules=new c};r.inherits(m,i),function(){this.tokenRe=new RegExp("^["+h.packages.L+h.packages.Mn+h.packages.Mc+h.packages.Nd+h.packages.Pc+"_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+h.packages.L+h.packages.Mn+h.packages.Mc+h.packages.Nd+h.packages.Pc+"_]|s])+","g"),this.lineCommentStart=["//","#"],this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[\:]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o!="doc-start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/php-inline"}.call(m.prototype);var g=function(e){if(e&&e.inline){var t=new m;return t.createWorker=this.createWorker,t.inlinePhp=!0,t}p.call(this),this.HighlightRules=s,this.createModeDelegates({"js-":d,"css-":v,"php-":m}),this.foldingRules.subModes["php-"]=new c};r.inherits(g,p),function(){this.createWorker=function(e){var t=new f(["ace"],"ace/mode/php_worker","PhpWorker");return t.attachToDocument(e.getDocument()),this.inlinePhp&&t.call("setOptions",[{inline:!0}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("ok",function(){e.clearAnnotations()}),t},this.$id="ace/mode/php"}.call(g.prototype),t.Mode=g}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-scss.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-scss.js index 6f9bab86..2844badd 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-scss.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-scss.js @@ -1 +1 @@ -ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;go.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),ace.define("ace/mode/scss",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scss_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./scss_highlight_rules").ScssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scss"}.call(f.prototype),t.Mode=f}) \ No newline at end of file +ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e=i.arrayToMap(function(){var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),n="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),r=[];for(var i=0,s=e.length;i|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(o,s),t.ScssHighlightRules=o}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),h=f.substring(a.column,a.column+1),p=r.getTokenAt(a.row,a.column),d=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&p&&/escape/.test(p.type))return null;var v=p&&/string/.test(p.type),m=!d||/string/.test(d.type),g;if(h==s)g=v!==m;else{if(v&&!m)return null;if(v&&m)return null;var y=r.$mode.tokenRe;y.lastIndex=0;var b=y.test(l);y.lastIndex=0;var w=y.test(l);if(b||w)return null;if(h&&!/[\s;,.})\]\\]/.test(h))return null;g=!0}return{text:g?s+s:"",selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/)#(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/scss",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scss_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./scss_highlight_rules").ScssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scss"}.call(f.prototype),t.Mode=f}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-xml.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-xml.js index f03e532c..e9a5bc79 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-xml.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-xml.js @@ -1 +1 @@ -ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(e,t,n){"use strict";function o(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,u=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var u=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:u+a+u,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==u&&(o(p,"attribute-value")||o(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(o(p,"tag-whitespace")||o(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(o(p,"attribute-equals")&&(d||c==">")||o(p,"decl-attribute-equals")&&(d||c=="?"))return{text:u+u,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var u=n.getCursorPosition(),a=new s(r,u.row,u.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(o(f,"tag-name")||o(f,"tag-whitespace")||o(f,"attribute-name")||o(f,"attribute-equals")||o(f,"attribute-value")))return;if(o(f,"reference.attribute-value"))return;if(o(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>u.column||h==u.column&&l!=c)return}}while(!o(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(o(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==u.row&&(v=v.substring(0,u.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var s=n.getCursorPosition(),o=r.getLine(s.row),u=o.substring(s.column,s.column+2);if(u=="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=r.mixin(e||{},t||{})};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.voidElements.hasOwnProperty(t.tagName))return;if(this.voidElements.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,s),function(){this.voidElements=i.arrayToMap([]),this.blockComment={start:""},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}) \ No newline at end of file +ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)([-_a-zA-Z0-9]+)",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)([-_a-zA-Z0-9]+)",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:[-_a-zA-Z0-9]+:)?[-_a-zA-Z0-9]+"},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getCursorPosition(),a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name"))f=a.stepBackward();var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./xml_highlight_rules").XmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,a=e("./folding/xml").FoldMode,f=function(){this.HighlightRules=o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,s),function(){this.voidElements=i.arrayToMap([]),this.blockComment={start:""},this.$id="ace/mode/xml"}.call(f.prototype),t.Mode=f}) \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-css.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-css.js index 80ea21e9..bc4cb253 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-css.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-css.js @@ -1 +1 @@ -"no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){console.error("Worker "+(i?i.stack:e))},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(t,n){n||(n=t,t=null);if(!n.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");n=e.normalizeModule(t,n);var r=e.require.modules[n];if(r)return r.initialized||(r.initialized=!0,r.exports=r.factory().exports),r.exports;var i=n.split("/");if(!e.require.tlns)return console.log("unable to load "+n);i[0]=e.require.tlns[i[0]]||i[0];var s=i.join("/")+".js";return e.require.id=n,importScripts(s),e.require(t,n)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id),n.length||(n=["require","exports","module"]);if(t.indexOf("text!")===0)return;var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},e.initBaseUrls=function(t){require.tlns=t},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var t=e.main=null,n=e.sender=null;e.onmessage=function(r){var i=r.data;if(i.command){if(!t[i.command])throw new Error("Unknown command:"+i.command);t[i.command].apply(t,i.args)}else if(i.init){initBaseUrls(i.tlns),require("ace/lib/es5-shim"),n=e.sender=initSender();var s=require(i.module)[i.classname];t=e.main=new s(n)}else i.event&&n&&n._signal(i.event,i.data)}})(this),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowthis.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>61440){var n=this._insertLines(e,t.slice(0,61440));t=t.slice(61440),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i=0&&this._ltIndex-1&&!t[u.type].hide&&(u.channel=t[u.type].channel,this._token=u,this._lt.push(u),this._ltIndexCache.push(this._lt.length-this._ltIndex+i),this._lt.length>5&&this._lt.shift(),this._ltIndexCache.length>5&&this._ltIndexCache.shift(),this._ltIndex=this._lt.length),a=t[u.type],a&&(a.hide||a.channel!==undefined&&e!==a.channel)?this.get(e):u.type},LA:function(e){var t=e,n;if(e>0){if(e>5)throw new Error("Too much lookahead.");while(t)n=this.get(),t--;while(tthis._tokenData.length?"UNKNOWN_TOKEN":this._tokenData[e].name},tokenType:function(e){return this._tokenData[e]||-1},unget:function(){if(!this._ltIndexCache.length)throw new Error("Too much lookahead.");this._ltIndex-=this._ltIndexCache.pop(),this._token=this._lt[this._ltIndex-1]}},parserlib.util={StringReader:t,SyntaxError:n,SyntaxUnit:r,EventTarget:e,TokenStreamBase:i}})(),function(){function Combinator(e,t,n){SyntaxUnit.call(this,e,t,n,Parser.COMBINATOR_TYPE),this.type="unknown",/^\s+$/.test(e)?this.type="descendant":e==">"?this.type="child":e=="+"?this.type="adjacent-sibling":e=="~"&&(this.type="sibling")}function MediaFeature(e,t){SyntaxUnit.call(this,"("+e+(t!==null?":"+t:"")+")",e.startLine,e.startCol,Parser.MEDIA_FEATURE_TYPE),this.name=e,this.value=t}function MediaQuery(e,t,n,r,i){SyntaxUnit.call(this,(e?e+" ":"")+(t?t:"")+(t&&n.length>0?" and ":"")+n.join(" and "),r,i,Parser.MEDIA_QUERY_TYPE),this.modifier=e,this.mediaType=t,this.features=n}function Parser(e){EventTarget.call(this),this.options=e||{},this._tokenStream=null}function PropertyName(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.PROPERTY_NAME_TYPE),this.hack=t}function PropertyValue(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.PROPERTY_VALUE_TYPE),this.parts=e}function PropertyValueIterator(e){this._i=0,this._parts=e.parts,this._marks=[],this.value=e}function PropertyValuePart(text,line,col){SyntaxUnit.call(this,text,line,col,Parser.PROPERTY_VALUE_PART_TYPE),this.type="unknown";var temp;if(/^([+\-]?[\d\.]+)([a-z]+)$/i.test(text)){this.type="dimension",this.value=+RegExp.$1,this.units=RegExp.$2;switch(this.units.toLowerCase()){case"em":case"rem":case"ex":case"px":case"cm":case"mm":case"in":case"pt":case"pc":case"ch":case"vh":case"vw":case"vm":this.type="length";break;case"deg":case"rad":case"grad":this.type="angle";break;case"ms":case"s":this.type="time";break;case"hz":case"khz":this.type="frequency";break;case"dpi":case"dpcm":this.type="resolution"}}else/^([+\-]?[\d\.]+)%$/i.test(text)?(this.type="percentage",this.value=+RegExp.$1):/^([+\-]?\d+)$/i.test(text)?(this.type="integer",this.value=+RegExp.$1):/^([+\-]?[\d\.]+)$/i.test(text)?(this.type="number",this.value=+RegExp.$1):/^#([a-f0-9]{3,6})/i.test(text)?(this.type="color",temp=RegExp.$1,temp.length==3?(this.red=parseInt(temp.charAt(0)+temp.charAt(0),16),this.green=parseInt(temp.charAt(1)+temp.charAt(1),16),this.blue=parseInt(temp.charAt(2)+temp.charAt(2),16)):(this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16))):/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3):/^rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100):/^rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1,this.green=+RegExp.$2,this.blue=+RegExp.$3,this.alpha=+RegExp.$4):/^rgba\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.red=+RegExp.$1*255/100,this.green=+RegExp.$2*255/100,this.blue=+RegExp.$3*255/100,this.alpha=+RegExp.$4):/^hsl\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100):/^hsla\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*,\s*([\d\.]+)\s*\)/i.test(text)?(this.type="color",this.hue=+RegExp.$1,this.saturation=+RegExp.$2/100,this.lightness=+RegExp.$3/100,this.alpha=+RegExp.$4):/^url\(["']?([^\)"']+)["']?\)/i.test(text)?(this.type="uri",this.uri=RegExp.$1):/^([^\(]+)\(/i.test(text)?(this.type="function",this.name=RegExp.$1,this.value=text):/^["'][^"']*["']/.test(text)?(this.type="string",this.value=eval(text)):Colors[text.toLowerCase()]?(this.type="color",temp=Colors[text.toLowerCase()].substring(1),this.red=parseInt(temp.substring(0,2),16),this.green=parseInt(temp.substring(2,4),16),this.blue=parseInt(temp.substring(4,6),16)):/^[\,\/]$/.test(text)?(this.type="operator",this.value=text):/^[a-z\-\u0080-\uFFFF][a-z0-9\-\u0080-\uFFFF]*$/i.test(text)&&(this.type="identifier",this.value=text)}function Selector(e,t,n){SyntaxUnit.call(this,e.join(" "),t,n,Parser.SELECTOR_TYPE),this.parts=e,this.specificity=Specificity.calculate(this)}function SelectorPart(e,t,n,r,i){SyntaxUnit.call(this,n,r,i,Parser.SELECTOR_PART_TYPE),this.elementName=e,this.modifiers=t}function SelectorSubPart(e,t,n,r){SyntaxUnit.call(this,e,n,r,Parser.SELECTOR_SUB_PART_TYPE),this.type=t,this.args=[]}function Specificity(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function isHexDigit(e){return e!==null&&h.test(e)}function isDigit(e){return e!==null&&/\d/.test(e)}function isWhitespace(e){return e!==null&&/\s/.test(e)}function isNewLine(e){return e!==null&&nl.test(e)}function isNameStart(e){return e!==null&&/[a-z_\u0080-\uFFFF\\]/i.test(e)}function isNameChar(e){return e!==null&&(isNameStart(e)||/[0-9\-\\]/.test(e))}function isIdentStart(e){return e!==null&&(isNameStart(e)||/\-\\/.test(e))}function mix(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function TokenStream(e){TokenStreamBase.call(this,e,Tokens)}function ValidationError(e,t,n){this.col=n,this.line=t,this.message=e}var EventTarget=parserlib.util.EventTarget,TokenStreamBase=parserlib.util.TokenStreamBase,StringReader=parserlib.util.StringReader,SyntaxError=parserlib.util.SyntaxError,SyntaxUnit=parserlib.util.SyntaxUnit,Colors={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",activeBorder:"Active window border.",activecaption:"Active window caption.",appworkspace:"Background color of multiple document interface.",background:"Desktop background.",buttonface:"The face background color for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonhighlight:"The color of the border facing the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttonshadow:"The color of the border away from the light source for 3-D elements that appear 3-D due to one layer of surrounding border.",buttontext:"Text on push buttons.",captiontext:"Text in caption, size box, and scrollbar arrow box.",graytext:"Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.",greytext:"Greyed (disabled) text. This color is set to #000 if the current display driver does not support a solid grey color.",highlight:"Item(s) selected in a control.",highlighttext:"Text of item(s) selected in a control.",inactiveborder:"Inactive window border.",inactivecaption:"Inactive window caption.",inactivecaptiontext:"Color of text in an inactive caption.",infobackground:"Background color for tooltip controls.",infotext:"Text color for tooltip controls.",menu:"Menu background.",menutext:"Text in menus.",scrollbar:"Scroll bar gray area.",threeddarkshadow:"The color of the darker (generally outer) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedface:"The face background color for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedhighlight:"The color of the lighter (generally outer) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedlightshadow:"The color of the darker (generally inner) of the two borders facing the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",threedshadow:"The color of the lighter (generally inner) of the two borders away from the light source for 3-D elements that appear 3-D due to two concentric layers of surrounding border.",window:"Window background.",windowframe:"Window frame.",windowtext:"Text in windows."};Combinator.prototype=new SyntaxUnit,Combinator.prototype.constructor=Combinator,MediaFeature.prototype=new SyntaxUnit,MediaFeature.prototype.constructor=MediaFeature,MediaQuery.prototype=new SyntaxUnit,MediaQuery.prototype.constructor=MediaQuery,Parser.DEFAULT_TYPE=0,Parser.COMBINATOR_TYPE=1,Parser.MEDIA_FEATURE_TYPE=2,Parser.MEDIA_QUERY_TYPE=3,Parser.PROPERTY_NAME_TYPE=4,Parser.PROPERTY_VALUE_TYPE=5,Parser.PROPERTY_VALUE_PART_TYPE=6,Parser.SELECTOR_TYPE=7,Parser.SELECTOR_PART_TYPE=8,Parser.SELECTOR_SUB_PART_TYPE=9,Parser.prototype=function(){var e=new EventTarget,t,n={constructor:Parser,DEFAULT_TYPE:0,COMBINATOR_TYPE:1,MEDIA_FEATURE_TYPE:2,MEDIA_QUERY_TYPE:3,PROPERTY_NAME_TYPE:4,PROPERTY_VALUE_TYPE:5,PROPERTY_VALUE_PART_TYPE:6,SELECTOR_TYPE:7,SELECTOR_PART_TYPE:8,SELECTOR_SUB_PART_TYPE:9,_stylesheet:function(){var e=this._tokenStream,t=null,n,r,i;this.fire("startstylesheet"),this._charset(),this._skipCruft();while(e.peek()==Tokens.IMPORT_SYM)this._import(),this._skipCruft();while(e.peek()==Tokens.NAMESPACE_SYM)this._namespace(),this._skipCruft();i=e.peek();while(i>Tokens.EOF){try{switch(i){case Tokens.MEDIA_SYM:this._media(),this._skipCruft();break;case Tokens.PAGE_SYM:this._page(),this._skipCruft();break;case Tokens.FONT_FACE_SYM:this._font_face(),this._skipCruft();break;case Tokens.KEYFRAMES_SYM:this._keyframes(),this._skipCruft();break;case Tokens.VIEWPORT_SYM:this._viewport(),this._skipCruft();break;case Tokens.UNKNOWN_SYM:e.get();if(!!this.options.strict)throw new SyntaxError("Unknown @ rule.",e.LT(0).startLine,e.LT(0).startCol);this.fire({type:"error",error:null,message:"Unknown @ rule: "+e.LT(0).value+".",line:e.LT(0).startLine,col:e.LT(0).startCol}),n=0;while(e.advance([Tokens.LBRACE,Tokens.RBRACE])==Tokens.LBRACE)n++;while(n)e.advance([Tokens.RBRACE]),n--;break;case Tokens.S:this._readWhitespace();break;default:if(!this._ruleset())switch(i){case Tokens.CHARSET_SYM:throw r=e.LT(1),this._charset(!1),new SyntaxError("@charset not allowed here.",r.startLine,r.startCol);case Tokens.IMPORT_SYM:throw r=e.LT(1),this._import(!1),new SyntaxError("@import not allowed here.",r.startLine,r.startCol);case Tokens.NAMESPACE_SYM:throw r=e.LT(1),this._namespace(!1),new SyntaxError("@namespace not allowed here.",r.startLine,r.startCol);default:e.get(),this._unexpectedToken(e.token())}}}catch(s){if(!(s instanceof SyntaxError&&!this.options.strict))throw s;this.fire({type:"error",error:s,message:s.message,line:s.line,col:s.col})}i=e.peek()}i!=Tokens.EOF&&this._unexpectedToken(e.token()),this.fire("endstylesheet")},_charset:function(e){var t=this._tokenStream,n,r,i,s;t.match(Tokens.CHARSET_SYM)&&(i=t.token().startLine,s=t.token().startCol,this._readWhitespace(),t.mustMatch(Tokens.STRING),r=t.token(),n=r.value,this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),e!==!1&&this.fire({type:"charset",charset:n,line:i,col:s}))},_import:function(e){var t=this._tokenStream,n,r,i,s=[];t.mustMatch(Tokens.IMPORT_SYM),i=t.token(),this._readWhitespace(),t.mustMatch([Tokens.STRING,Tokens.URI]),r=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),s=this._media_query_list(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"import",uri:r,media:s,line:i.startLine,col:i.startCol})},_namespace:function(e){var t=this._tokenStream,n,r,i,s;t.mustMatch(Tokens.NAMESPACE_SYM),n=t.token().startLine,r=t.token().startCol,this._readWhitespace(),t.match(Tokens.IDENT)&&(i=t.token().value,this._readWhitespace()),t.mustMatch([Tokens.STRING,Tokens.URI]),s=t.token().value.replace(/(?:url\()?["']([^"']+)["']\)?/,"$1"),this._readWhitespace(),t.mustMatch(Tokens.SEMICOLON),this._readWhitespace(),e!==!1&&this.fire({type:"namespace",prefix:i,uri:s,line:n,col:r})},_media:function(){var e=this._tokenStream,t,n,r;e.mustMatch(Tokens.MEDIA_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),r=this._media_query_list(),e.mustMatch(Tokens.LBRACE),this._readWhitespace(),this.fire({type:"startmedia",media:r,line:t,col:n});for(;;)if(e.peek()==Tokens.PAGE_SYM)this._page();else if(e.peek()==Tokens.FONT_FACE_SYM)this._font_face();else if(!this._ruleset())break;e.mustMatch(Tokens.RBRACE),this._readWhitespace(),this.fire({type:"endmedia",media:r,line:t,col:n})},_media_query_list:function(){var e=this._tokenStream,t=[];this._readWhitespace(),(e.peek()==Tokens.IDENT||e.peek()==Tokens.LPAREN)&&t.push(this._media_query());while(e.match(Tokens.COMMA))this._readWhitespace(),t.push(this._media_query());return t},_media_query:function(){var e=this._tokenStream,t=null,n=null,r=null,i=[];e.match(Tokens.IDENT)&&(n=e.token().value.toLowerCase(),n!="only"&&n!="not"?(e.unget(),n=null):r=e.token()),this._readWhitespace(),e.peek()==Tokens.IDENT?(t=this._media_type(),r===null&&(r=e.token())):e.peek()==Tokens.LPAREN&&(r===null&&(r=e.LT(1)),i.push(this._media_expression()));if(t===null&&i.length===0)return null;this._readWhitespace();while(e.match(Tokens.IDENT))e.token().value.toLowerCase()!="and"&&this._unexpectedToken(e.token()),this._readWhitespace(),i.push(this._media_expression());return new MediaQuery(n,t,i,r.startLine,r.startCol)},_media_type:function(){return this._media_feature()},_media_expression:function(){var e=this._tokenStream,t=null,n,r=null;return e.mustMatch(Tokens.LPAREN),t=this._media_feature(),this._readWhitespace(),e.match(Tokens.COLON)&&(this._readWhitespace(),n=e.LT(1),r=this._expression()),e.mustMatch(Tokens.RPAREN),this._readWhitespace(),new MediaFeature(t,r?new SyntaxUnit(r,n.startLine,n.startCol):null)},_media_feature:function(){var e=this._tokenStream;return e.mustMatch(Tokens.IDENT),SyntaxUnit.fromToken(e.token())},_page:function(){var e=this._tokenStream,t,n,r=null,i=null;e.mustMatch(Tokens.PAGE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),e.match(Tokens.IDENT)&&(r=e.token().value,r.toLowerCase()==="auto"&&this._unexpectedToken(e.token())),e.peek()==Tokens.COLON&&(i=this._pseudo_page()),this._readWhitespace(),this.fire({type:"startpage",id:r,pseudo:i,line:t,col:n}),this._readDeclarations(!0,!0),this.fire({type:"endpage",id:r,pseudo:i,line:t,col:n})},_margin:function(){var e=this._tokenStream,t,n,r=this._margin_sym();return r?(t=e.token().startLine,n=e.token().startCol,this.fire({type:"startpagemargin",margin:r,line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endpagemargin",margin:r,line:t,col:n}),!0):!1},_margin_sym:function(){var e=this._tokenStream;return e.match([Tokens.TOPLEFTCORNER_SYM,Tokens.TOPLEFT_SYM,Tokens.TOPCENTER_SYM,Tokens.TOPRIGHT_SYM,Tokens.TOPRIGHTCORNER_SYM,Tokens.BOTTOMLEFTCORNER_SYM,Tokens.BOTTOMLEFT_SYM,Tokens.BOTTOMCENTER_SYM,Tokens.BOTTOMRIGHT_SYM,Tokens.BOTTOMRIGHTCORNER_SYM,Tokens.LEFTTOP_SYM,Tokens.LEFTMIDDLE_SYM,Tokens.LEFTBOTTOM_SYM,Tokens.RIGHTTOP_SYM,Tokens.RIGHTMIDDLE_SYM,Tokens.RIGHTBOTTOM_SYM])?SyntaxUnit.fromToken(e.token()):null},_pseudo_page:function(){var e=this._tokenStream;return e.mustMatch(Tokens.COLON),e.mustMatch(Tokens.IDENT),e.token().value},_font_face:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.FONT_FACE_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startfontface",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endfontface",line:t,col:n})},_viewport:function(){var e=this._tokenStream,t,n;e.mustMatch(Tokens.VIEWPORT_SYM),t=e.token().startLine,n=e.token().startCol,this._readWhitespace(),this.fire({type:"startviewport",line:t,col:n}),this._readDeclarations(!0),this.fire({type:"endviewport",line:t,col:n})},_operator:function(e){var t=this._tokenStream,n=null;if(t.match([Tokens.SLASH,Tokens.COMMA])||e&&t.match([Tokens.PLUS,Tokens.STAR,Tokens.MINUS]))n=t.token(),this._readWhitespace();return n?PropertyValuePart.fromToken(n):null},_combinator:function(){var e=this._tokenStream,t=null,n;return e.match([Tokens.PLUS,Tokens.GREATER,Tokens.TILDE])&&(n=e.token(),t=new Combinator(n.value,n.startLine,n.startCol),this._readWhitespace()),t},_unary_operator:function(){var e=this._tokenStream;return e.match([Tokens.MINUS,Tokens.PLUS])?e.token().value:null},_property:function(){var e=this._tokenStream,t=null,n=null,r,i,s,o;return e.peek()==Tokens.STAR&&this.options.starHack&&(e.get(),i=e.token(),n=i.value,s=i.startLine,o=i.startCol),e.match(Tokens.IDENT)&&(i=e.token(),r=i.value,r.charAt(0)=="_"&&this.options.underscoreHack&&(n="_",r=r.substring(1)),t=new PropertyName(r,n,s||i.startLine,o||i.startCol),this._readWhitespace()),t},_ruleset:function(){var e=this._tokenStream,t,n;try{n=this._selectors_group()}catch(r){if(r instanceof SyntaxError&&!this.options.strict){this.fire({type:"error",error:r,message:r.message,line:r.line,col:r.col}),t=e.advance([Tokens.RBRACE]);if(t!=Tokens.RBRACE)throw r;return!0}throw r}return n&&(this.fire({type:"startrule",selectors:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endrule",selectors:n,line:n[0].line,col:n[0].col})),n},_selectors_group:function(){var e=this._tokenStream,t=[],n;n=this._selector();if(n!==null){t.push(n);while(e.match(Tokens.COMMA))this._readWhitespace(),n=this._selector(),n!==null?t.push(n):this._unexpectedToken(e.LT(1))}return t.length?t:null},_selector:function(){var e=this._tokenStream,t=[],n=null,r=null,i=null;n=this._simple_selector_sequence();if(n===null)return null;t.push(n);do{r=this._combinator();if(r!==null)t.push(r),n=this._simple_selector_sequence(),n===null?this._unexpectedToken(e.LT(1)):t.push(n);else{if(!this._readWhitespace())break;i=new Combinator(e.token().value,e.token().startLine,e.token().startCol),r=this._combinator(),n=this._simple_selector_sequence(),n===null?r!==null&&this._unexpectedToken(e.LT(1)):(r!==null?t.push(r):t.push(i),t.push(n))}}while(!0);return new Selector(t,t[0].line,t[0].col)},_simple_selector_sequence:function(){var e=this._tokenStream,t=null,n=[],r="",i=[function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo,this._negation],s=0,o=i.length,u=null,a=!1,f,l;f=e.LT(1).startLine,l=e.LT(1).startCol,t=this._type_selector(),t||(t=this._universal()),t!==null&&(r+=t);for(;;){if(e.peek()===Tokens.S)break;while(s1&&e.unget()),null)},_class:function(){var e=this._tokenStream,t;return e.match(Tokens.DOT)?(e.mustMatch(Tokens.IDENT),t=e.token(),new SelectorSubPart("."+t.value,"class",t.startLine,t.startCol-1)):null},_element_name:function(){var e=this._tokenStream,t;return e.match(Tokens.IDENT)?(t=e.token(),new SelectorSubPart(t.value,"elementName",t.startLine,t.startCol)):null},_namespace_prefix:function(){var e=this._tokenStream,t="";if(e.LA(1)===Tokens.PIPE||e.LA(2)===Tokens.PIPE)e.match([Tokens.IDENT,Tokens.STAR])&&(t+=e.token().value),e.mustMatch(Tokens.PIPE),t+="|";return t.length?t:null},_universal:function(){var e=this._tokenStream,t="",n;return n=this._namespace_prefix(),n&&(t+=n),e.match(Tokens.STAR)&&(t+="*"),t.length?t:null},_attrib:function(){var e=this._tokenStream,t=null,n,r;return e.match(Tokens.LBRACKET)?(r=e.token(),t=r.value,t+=this._readWhitespace(),n=this._namespace_prefix(),n&&(t+=n),e.mustMatch(Tokens.IDENT),t+=e.token().value,t+=this._readWhitespace(),e.match([Tokens.PREFIXMATCH,Tokens.SUFFIXMATCH,Tokens.SUBSTRINGMATCH,Tokens.EQUALS,Tokens.INCLUDES,Tokens.DASHMATCH])&&(t+=e.token().value,t+=this._readWhitespace(),e.mustMatch([Tokens.IDENT,Tokens.STRING]),t+=e.token().value,t+=this._readWhitespace()),e.mustMatch(Tokens.RBRACKET),new SelectorSubPart(t+"]","attribute",r.startLine,r.startCol)):null},_pseudo:function(){var e=this._tokenStream,t=null,n=":",r,i;return e.match(Tokens.COLON)&&(e.match(Tokens.COLON)&&(n+=":"),e.match(Tokens.IDENT)?(t=e.token().value,r=e.token().startLine,i=e.token().startCol-n.length):e.peek()==Tokens.FUNCTION&&(r=e.LT(1).startLine,i=e.LT(1).startCol-n.length,t=this._functional_pseudo()),t&&(t=new SelectorSubPart(n+t,"pseudo",r,i))),t},_functional_pseudo:function(){var e=this._tokenStream,t=null;return e.match(Tokens.FUNCTION)&&(t=e.token().value,t+=this._readWhitespace(),t+=this._expression(),e.mustMatch(Tokens.RPAREN),t+=")"),t},_expression:function(){var e=this._tokenStream,t="";while(e.match([Tokens.PLUS,Tokens.MINUS,Tokens.DIMENSION,Tokens.NUMBER,Tokens.STRING,Tokens.IDENT,Tokens.LENGTH,Tokens.FREQ,Tokens.ANGLE,Tokens.TIME,Tokens.RESOLUTION,Tokens.SLASH]))t+=e.token().value,t+=this._readWhitespace();return t.length?t:null},_negation:function(){var e=this._tokenStream,t,n,r="",i,s=null;return e.match(Tokens.NOT)&&(r=e.token().value,t=e.token().startLine,n=e.token().startCol,r+=this._readWhitespace(),i=this._negation_arg(),r+=i,r+=this._readWhitespace(),e.match(Tokens.RPAREN),r+=e.token().value,s=new SelectorSubPart(r,"not",t,n),s.args.push(i)),s},_negation_arg:function(){var e=this._tokenStream,t=[this._type_selector,this._universal,function(){return e.match(Tokens.HASH)?new SelectorSubPart(e.token().value,"id",e.token().startLine,e.token().startCol):null},this._class,this._attrib,this._pseudo],n=null,r=0,i=t.length,s,o,u,a;o=e.LT(1).startLine,u=e.LT(1).startCol;while(r0?new PropertyValue(n,n[0].line,n[0].col):null},_term:function(){var e=this._tokenStream,t=null,n=null,r,i,s;return t=this._unary_operator(),t!==null&&(i=e.token().startLine,s=e.token().startCol),e.peek()==Tokens.IE_FUNCTION&&this.options.ieFilters?(n=this._ie_function(),t===null&&(i=e.token().startLine,s=e.token().startCol)):e.match([Tokens.NUMBER,Tokens.PERCENTAGE,Tokens.LENGTH,Tokens.ANGLE,Tokens.TIME,Tokens.FREQ,Tokens.STRING,Tokens.IDENT,Tokens.URI,Tokens.UNICODE_RANGE])?(n=e.token().value,t===null&&(i=e.token().startLine,s=e.token().startCol),this._readWhitespace()):(r=this._hexcolor(),r===null?(t===null&&(i=e.LT(1).startLine,s=e.LT(1).startCol),n===null&&(e.LA(3)==Tokens.EQUALS&&this.options.ieFilters?n=this._ie_function():n=this._function())):(n=r.value,t===null&&(i=r.startLine,s=r.startCol))),n!==null?new PropertyValuePart(t!==null?t+n:n,i,s):null},_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match(Tokens.FUNCTION)){t=e.token().value,this._readWhitespace(),n=this._expr(!0),t+=n;if(this.options.ieFilters&&e.peek()==Tokens.EQUALS)do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_ie_function:function(){var e=this._tokenStream,t=null,n=null,r;if(e.match([Tokens.IE_FUNCTION,Tokens.FUNCTION])){t=e.token().value;do{this._readWhitespace()&&(t+=e.token().value),e.LA(0)==Tokens.COMMA&&(t+=e.token().value),e.match(Tokens.IDENT),t+=e.token().value,e.match(Tokens.EQUALS),t+=e.token().value,r=e.peek();while(r!=Tokens.COMMA&&r!=Tokens.S&&r!=Tokens.RPAREN)e.get(),t+=e.token().value,r=e.peek()}while(e.match([Tokens.COMMA,Tokens.S]));e.match(Tokens.RPAREN),t+=")",this._readWhitespace()}return t},_hexcolor:function(){var e=this._tokenStream,t=null,n;if(e.match(Tokens.HASH)){t=e.token(),n=t.value;if(!/#[a-f0-9]{3,6}/i.test(n))throw new SyntaxError("Expected a hex color but found '"+n+"' at line "+t.startLine+", col "+t.startCol+".",t.startLine,t.startCol);this._readWhitespace()}return t},_keyframes:function(){var e=this._tokenStream,t,n,r,i="";e.mustMatch(Tokens.KEYFRAMES_SYM),t=e.token(),/^@\-([^\-]+)\-/.test(t.value)&&(i=RegExp.$1),this._readWhitespace(),r=this._keyframe_name(),this._readWhitespace(),e.mustMatch(Tokens.LBRACE),this.fire({type:"startkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),n=e.peek();while(n==Tokens.IDENT||n==Tokens.PERCENTAGE)this._keyframe_rule(),this._readWhitespace(),n=e.peek();this.fire({type:"endkeyframes",name:r,prefix:i,line:t.startLine,col:t.startCol}),this._readWhitespace(),e.mustMatch(Tokens.RBRACE)},_keyframe_name:function(){var e=this._tokenStream,t;return e.mustMatch([Tokens.IDENT,Tokens.STRING]),SyntaxUnit.fromToken(e.token())},_keyframe_rule:function(){var e=this._tokenStream,t,n=this._key_list();this.fire({type:"startkeyframerule",keys:n,line:n[0].line,col:n[0].col}),this._readDeclarations(!0),this.fire({type:"endkeyframerule",keys:n,line:n[0].line,col:n[0].col})},_key_list:function(){var e=this._tokenStream,t,n,r=[];r.push(this._key()),this._readWhitespace();while(e.match(Tokens.COMMA))this._readWhitespace(),r.push(this._key()),this._readWhitespace();return r},_key:function(){var e=this._tokenStream,t;if(e.match(Tokens.PERCENTAGE))return SyntaxUnit.fromToken(e.token());if(e.match(Tokens.IDENT)){t=e.token();if(/from|to/i.test(t.value))return SyntaxUnit.fromToken(t);e.unget()}this._unexpectedToken(e.LT(1))},_skipCruft:function(){while(this._tokenStream.match([Tokens.S,Tokens.CDO,Tokens.CDC]));},_readDeclarations:function(e,t){var n=this._tokenStream,r;this._readWhitespace(),e&&n.mustMatch(Tokens.LBRACE),this._readWhitespace();try{for(;;){if(!(n.match(Tokens.SEMICOLON)||t&&this._margin())){if(!this._declaration())break;if(!n.match(Tokens.SEMICOLON))break}this._readWhitespace()}n.mustMatch(Tokens.RBRACE),this._readWhitespace()}catch(i){if(!(i instanceof SyntaxError&&!this.options.strict))throw i;this.fire({type:"error",error:i,message:i.message,line:i.line,col:i.col}),r=n.advance([Tokens.SEMICOLON,Tokens.RBRACE]);if(r==Tokens.SEMICOLON)this._readDeclarations(!1,t);else if(r!=Tokens.RBRACE)throw i}},_readWhitespace:function(){var e=this._tokenStream,t="";while(e.match(Tokens.S))t+=e.token().value;return t},_unexpectedToken:function(e){throw new SyntaxError("Unexpected token '"+e.value+"' at line "+e.startLine+", col "+e.startCol+".",e.startLine,e.startCol)},_verifyEnd:function(){this._tokenStream.LA(1)!=Tokens.EOF&&this._unexpectedToken(this._tokenStream.LT(1))},_validateProperty:function(e,t){Validation.validate(e,t)},parse:function(e){this._tokenStream=new TokenStream(e,Tokens),this._stylesheet()},parseStyleSheet:function(e){return this.parse(e)},parseMediaQuery:function(e){this._tokenStream=new TokenStream(e,Tokens);var t=this._media_query();return this._verifyEnd(),t},parsePropertyValue:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._expr();return this._readWhitespace(),this._verifyEnd(),t},parseRule:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._ruleset();return this._readWhitespace(),this._verifyEnd(),t},parseSelector:function(e){this._tokenStream=new TokenStream(e,Tokens),this._readWhitespace();var t=this._selector();return this._readWhitespace(),this._verifyEnd(),t},parseStyleAttribute:function(e){e+="}",this._tokenStream=new TokenStream(e,Tokens),this._readDeclarations()}};for(t in n)n.hasOwnProperty(t)&&(e[t]=n[t]);return e}();var Properties={"align-items":"flex-start | flex-end | center | baseline | stretch","align-content":"flex-start | flex-end | center | space-between | space-around | stretch","align-self":"auto | flex-start | flex-end | center | baseline | stretch","-webkit-align-items":"flex-start | flex-end | center | baseline | stretch","-webkit-align-content":"flex-start | flex-end | center | space-between | space-around | stretch","-webkit-align-self":"auto | flex-start | flex-end | center | baseline | stretch","alignment-adjust":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | | ","alignment-baseline":"baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",animation:1,"animation-delay":{multi:"
    '; + + echo '
    '; + + if ( ! empty( $this->field['title'] ) ) { + echo '

    ' . $this->field['title'] . '

    '; + } + + if ( ! empty( $this->field['subtitle'] ) ) { + echo '
    ' . $this->field['subtitle'] . '
    '; + } + + echo '
    xHv-%{KkEatldd>G0(< zXO2GMaGVV9JY#ar#KjFw=Qk``Y!;rkw7F&J!iAMR=8O{-HY_~XENou7=={pd=G56i z!K|@^p+Vm^tyd?7#;h9@R`mAasK!jOZ}`|VXV%oT49}Ups%Gv{raXKVt#bXLQf_2_ zuj9**m8<70t2{qvVauhZaAa>ZM1)|SHh;)*d!1q&$&POw{jw01Y!8DuLCNnO{?|Dl z*DP4$L_^V`>{GByIYu#yo%aYNQeVIAk(`tImHa|{!&PsqFuAS@RZS|d%zLD~wdi?aq|IQZ(2U%oU15xn z0}vGpyglL;+vWsWhn(vg-zlNQq5F&Dz*X6Y5h80H(agKeuESx?!6Utd~?U!yfROoemfB44vSB{#xpmUe* zqJ~b_=Wg;mlz05fJLjA;b#;8r#h!_^h;8?5-Q1e7xP)xn=TvIz&l~6DgK9bsE0@+U z?O5sfBhSV9#Jg}@A65M#dkHgnpC#n$>K(S+`cn5*u9tI`SN7E3(>(HkK49YeFf~A| zT=hzfxDv5^awjUZxK%674Id^~Vj=1e95=M$Nt9dDPb8DZWCsRbOL&H6Ge_CWMLBO| zZziuSSQvTEm(H>M`MfZfmio*#t~S3=40;UTGS!1)$ajHBte(uvHBka#b2ltAOI9 zajvB?all>bS59d!n(zN{l+^7*@%FehQHCyXS zG9_Qs@lKC)!7|QtsOxpTuGg|If-DxoXWTuxT-dL3eE4{qHm=wLi>nj9`#(1<-?E2J zy3=U3^vT|wKomaIE(gUe#IlcTf|30hee-N~%dvZM9LjjJ99Dy8O|OHEV&};!y-qH$ zd*vDBwi0P3KK?d0Ic+wntpm;e^i69ihS@fTiPfN1xvyzXHU5JnVTLXWC{38v*v~iH zM)oHoSgD_6(_;s*jtcZG%9P}@{m~Es#pgimV+CEFJaF`-9LFKM4DnB%DAjclr{3eM z{~R<{_BAyP|Dma^rqZ%#+{L$`8b>a@n!`BV#kY2-OMCdG S#XCliTX{qPR!(pE*8c)$g|!y| diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/el.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/el.mo index ce6c65b86c39734e90c49e4eed7ab8242a0c37a1..96879d12eaff4c590188f61554e380d194007e0a 100644 GIT binary patch delta 3733 zcmZA2dvKK18OQOn2}vLckShcs$pQ%>NFY~9LZ}L8fnW*HaETyE=$fSD)?5f+b#pO@ z;Zn*A2BKD&iq}9(SEx#8sLqt?w7ZVeLhH0e2W&z7gAR6zGbsK3_I+uczVPhloU`wH z-gBOF&Zcj#>-`_O_I~b-Fvgr4YfJ(LFa#|2 zAH~sl8uk2pjvwF{>K8B){~lw!!H)k)gF5~SqcI}ZHUY;|pNx8-2sMy}j%7~!I@EJD z7=~@g9LzSyKGZ-4a2y`N-{G6FUi*RGINP0A!52Tqa{L_i;QV;I!^Nl>taa+OxSskJ zT!ZIv1kNU%x-TC!;02D$FqitnsQdPKDd+_jYK8+i8IK}^H0LlB|BNB{S5(SBM!nz) zy7Awr7bTJZk(h?6XCX;7MW~D{!E~%}>fTNY>ToY=AO}$+djYj1FQV4+I4ZS6s8qj$ zcVPfEkk620nJ-Z`>EsWs2TZC znHomD=zY`xKEhde74?E7HclRu+0e7GV=ymFSNK(u`r~V3-Q~x<$=KUsof-w)`HB7}^@~RiEK&5&O zszVRX#b(s~gZKd6z)~!l$e^$nm*N#v1_~yz53mkrV?S2mIrLUi$V|3p(1+|JV>!Np zTEjD_&G;FTU2_Z9vMb~Hu_&V6z>ZynFQW#09q-1k@E**ZVrQ%p7gDc5wGU1q|Bq3) zM8gr>Fx8kYbfwud>p^AYJ!HAeRj2Msw^KS9_5B=VGG;Y4VjD7fa|yL6Z#(t4X)G)C zS=fUsrjdUgkMlHWX8*u>_%%L&CF~q!q}#C{)!`uOmvR_y;@?mMxWEQce_x>b3Cpx+ zyZ~8lvjg?~5!Arn@KWGe^9RhqTd35{nqf>fR-o2wC(gmssQYiA?w`obh4>IMNwXbw z{~(6rUr-acggPxZQJZxn>#7NQV=1f;A$6#co#YHD6Tii`@gff60KIBv6^x2yHJebW z+>P2~CvXdXiV-ej9$|EP;iI|6u)1b5s(uKyl&@l$&i}6|MA8sPFQYIS)o})DQbGM5y#+lr+ynrnu*CbrV@)$_dSccZxEH4)5t+FpP&YE3zzBqM;F*@vkvuOyW@6L zs`^oz=`dBU8MO6J&jKWhGitnHX^cyV4KcX^rcZq#}367_}*r`{cQr(Dp{t4v2 z>E>e`4wsPsUr;zt!$k)2G-u`s>UHka5$d?PSm1{+6Ls!8 zkbP&KLB<`tp663p(e)UiCD4XjO{^hwX`}8Y8VL}v zT0dRiB~}JY_MRx9tQ2b>lsWC%j15kC8?Gg4h&@Cdq06gvP$~`)mBeO(>;%)P6t5s= z5lMvBzLwDDiy?GvA)X@+65k<~5>F9Jh!KRAPuG(K+r{isg)5g}^8cHEcCeXq>sX4L zh-V0G!lwycJBjZR1H`?=4x*FLa;zdE30)J3Zi2(aIk&ITj$1J{SmyovDI_{yY(VW$ zU6Tp+QSkbfHgn!<>^Dmd4AY}fqL?zABLDflP13EP}@ zo#{zLh*ST8<4DKt_%IPXddOZ5Ue$aS5~J*@c>#4=4ioDLH?cUG4_&=B!A~8*_;1uV zQl3X-5dBWOPC+;kK@=0MR`Tf7<@Zo3BJNyO6m)L7i2I125UIozVj9sy=*qVVelFni zQKvrDw|n&55bMI&)gwKdJ@rk^o)&9n%zo=a%uFjP_JHrT*vl^KrT7Wf2l1z@-3gVU zRSh2NTEbJ2i^|-qJT0wtO^v?h#7(ZWs9B3BYjZc(x7XA)x@(&nJk3=# z9^X*X7hy34S=sqn*}3lQ{NntA;+#3w*_71C{H&aOcXoDhPM+^-N}0=5F8>*x<|*I5@;Y5(clh7-zu_Ma^!R`2E?ZRQYb{t78aoi|b1>NF34LXq zEzF8P8tBxG!S{6e-}3*8_G^VVBM$nH1^fG?=tfA?b5u@qTW_G-`miK@x$%GV4J0JJ y)ouLy{U`lDqob2~We9Kjj|IQ$^?h9u9rYhOQ6Ad> delta 3700 zcmZYB3rv;g9mnzKpn@U{5Jkib2NeMw77&q}idDQ&@iM1XJF2KhWO5S@Lv7{Md$rOz zUvHypoy(TmZqVVWQHa*McHL^a_awDx=d#tr^pdWmS!dFjbgldT&iiVb>@olId7kGy z?{j|-UjM1*@KMjv{=h(E%%9?n8G`R%6uytc@k1Pkcij46@y0|_PQjs=hIN>Ydal#; zS2%+5%NUEV<6yMi@&~AXK8`nmaHgM%?@@6F)lo!(G0_-}8fXM+f@v6oQ(OyiB;|5c z`zloXEv|mI{wdUR&)^_Djq2}(gn%(D&YYt{UP8_6&zOWEd4Js2G3*o$i^U&WP} zlIT3wgzBdaHL-)Jg`IKhyOA}T*RTph0Wzz}WV7EI_yFoiI#3TDL#^nnYZvBG?nSll zN3Hx0rs229T#c9gAAornfd#0YEkgA>2fY|rMn-3|4K>hC)C>=xR&ol{@kO`%7gR_8 z!0;KOCftwO(l1eG{xxdHhOmv=`Z!F%F{la5KsGO6=9AGtYw-J6iFxk#A7_4(1&6Try6@44j6mFoW^UVKQDS&f^Zeff}$f+1bJs zu8*Pyc+4%=pxSLkO?Vq>M>rVbnM5VCl47rA6+ z_#~&Cfec~h;$Ezo#Qy8He@=xO{ueVajt{ML2F}DKSdK?fJM^yWrx<t~}bMnHPGW-n=!LLvQn0)6lPQ(g|^{5G5Lj4ZB?Uw(FS$h9JBeR|_5~n*2 z{HU$ki@agxCDcUT#HIKi>c}Q?wbk)V*CnVOTZg)QTTm0)htYTr^#c^d1$Y}X8Q)Ci z;5a_B0@a`$eb|N7n8*QY=B=m!_aVn5K@B2|lkjy)(1r;NwWY*(y zJc@x9GPlY67*`cDd%T7*97S4*a}-lcouA?o)X|jTP^`oOxCS-BDqM+msEPgoN8%0C z4t|bm|1~Dzy;Ao7Jeefkky{M-HnvlKX|}UPnPtv^O_)mkE*yo=<669kCveytV=O#} zJy`m%F>l}(_;(l~{}V zAJIkRzM1!td506nX&xhW-t5n)WtRof^&k{OrrGU=iC&bT*&BPAk5klL! zo>)VSA(9E5aRZ@Cr1MqM#rg$tn$X#=AnJ)<5(5d{mkgqjC?k##N}0r-@2;P>Fr1!q z{ekOA)MY#5mY=~zL?^*9nx~1q1TTyE5fM!&jdd{GHM7di$GSd=3E@2ZpGRhd`-Km= zLk|+i8&2Gx2Wh*TJC29l{B(SZ&~Y9kl$H?-3Eh09LB!E;&iU9V^uTDR9R6I&XAW_O zC=S;+7fqKg!Y#MD>fKj5NK_Mg)s_>L1ozl%A!ZW#b-bTWkl93RAjT7mQu$Ci;1K@Y z&1d3w%C+PlCMFZ7+do#qRko`o4UM&+$`dLsv+}3VjodXyg;N86NoHgKcQ6U z5dN&-v(7C~40gnpM8q~W?J#rs@Gh=x*lN8Mx5mnfKbADFabs(}ufbpKuWf8F^BUV4 z>KdyzS$*-@k-lnwYqQV#IQ~>rgRi;T-`E`7k?^S}{vmJq_NK;WzjtYq9%`{xC#J>K zhif)BH`aSM*Vg&0w!}-3i&|P*eJ$41;nmjh;roN>BWgX?iKLO%t4W)K-jS7_feqF5 zKC3->RIn@gi$U@E**QhodHLSl8O75Ii*s|W-;PU-&dts(@a9e{&MOMOH*T57Qy5J5 zz7bjUGy6(tpWSN*L%Z#s&;h&K*#B4MwU5){La4*O6xvVwz4pb>9_y1ye+%Bq@Oe^x zZC|ka?8{W{wqFSy($~g*&h8F9ZIxx6Orcx4w)+@HEqX(H!vpq(js$OHB}61xJbs0L z-JyN@+U^P7p3*hYs?SOFc&&TWCRk^3=36~E$ua6Ebdc7s*jIxez>D!LhARg_MM@}{?#^cHXMwbGcO{{!Fj B2Gall diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/es_ES.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/es_ES.mo index 91c9cf964c503d6498d7ab090aa5e5f73e46e57a..2b9b075adbcbd88d80a0ee6d6166b82f515e93e3 100644 GIT binary patch literal 19313 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 VwXw8uF==JAx2tA6AE`ML`X8sP3vU1b delta 1494 zcmYk+U2IEX9LMpe-K<2PghYg# zh?j_6jL5tt6bV;evXBriToFXvkO)GEV8Zv;9f>FXKcDBE)AN5`+w0c;Na|G}`>3Hb z5aWqKmodxmMHUrh$}nRBI2CiS0rjXEYj6S1!#x)p0J#ls||S zSc*OLZx+&s;s7eq57Y?%pgPDR8%^UyJrCk3EXEeRf%EY<_!U=UGt<{~A1c8Y)E;NEJlgXysQ0R{5u>Pl z+Z}sQXKXLhrRmLM{WZc1+!%@1kV%+3NT22*s)OgKL?3Yzesk`xVifv*Cu%^usg&;! zvg+m->UpnozaMp&ui_LO$Y=dEl8@Zb68%K&v7c|v#1JasQdGi~jtNxaB#yx@)S*0x zq%bE@zmAL8hi|YE_c0sgxsTf7Cn*}*)2FBxpE=j>@j2I@u?ZhBI_YPfH)5OPP1Hcb zqmAKXDye4RT<3Zl@{2YWp%v61ClPT%hcZ=3r5CCQ6`cc>X+vaYuMz(%8l=i>B0^~P zQ9`AJn3!n|RpX$@xn=<}MUxE^F``1h|2i64Dkf?s5NxfPMKJKpVS!93r`F*bJ9KGE z9koqb0d1R`(7x)FtFSnxme5lFUv#$ghgYVl*E>(9V#sNW$xd4bQ)ffxq&n@(8SSzo zo_c$$Cu;Y5O6-@Ob@qbXd+y|}bZEHWWmkI(>{jo&bZms>&WlB6)<>#iVXHPCt&3Zh z-R%o`t%x-%Y(?YM_36{Tgv(WT)qlxt-_BoR7YCZ`je%+Q<-iWRD)=jBd16cA-j#Gq w!6w(Z_O?Z4S@+sxr&-*wWo_q%@cIqm?yl}cXR^b7QTWDgD4Lg^Q?%3d7k&zq%>V!Z diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/fa_IR.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/fa_IR.mo index e7b69eda1de62c11007579db911618d053af1744..4e23d00147c70ae39ae06d3f936d43c0e5a57091 100644 GIT binary patch literal 12907 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 Cf60je literal 9466 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 IpIvqH-!FwC;{X5v diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/fi.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/fi.mo index acfb768832435eb76ccf39f8cb86264041820246..d04d4cc79c344fee2f69fcc60ecb4bd7695d2ac1 100644 GIT binary patch delta 1611 zcmZA1OGs2v9LMo9j?eM^Dox8NC$quo@{l3p!2;Gd zUOLLW6*WO8YJomfMJ{3%4xkpgflB1Iz5f6?%m^pF$S77}4E6jZDuIM`3N`;Xj4G2^ zI?DJLQZ3`;VkKsx5~@VqZ|0;4_hBP;;t6KHgB!S><}K)&9LlFnRf?+Qb57a= zcKl-w^;ZJZ4CoDKQE#|_DwTuRbYn4U;yP3UZK#R%qMq-x*T<}@+NpZ0nVIgB&Un6+4l9te_tOsKf%OJ<^B{ zRNJ=1;&X2L{HxLaUurerCjx~2+=>Xb2BL{jm8ytcgc4kCs?u`XLPwuX32AY1TdayI z&_;NP7Ge{jmZkOeUu-?Gf~X)=mNkT$D)WESXWC6@$E(#6&4l)Yk5JoAtS0ISRYetB zZae4%?ZwVMI$P~U9cmM)%-W@D`j#qZwJ!c?Y=_0R(b{g+UMVBAhc*-1oNBGHk(Az~ z)IHtjL*YnlA?>ik*&hkVIx?<0@`BzPpSQ;E_W2rofd-#%DDJ9o`MtF@?%H63KM?!v l>T)>hV+XSiInxh>E}!kb61or@&W$=!jzl8i&`?SKpT8pMg$Dot delta 1547 zcmYk+OGs2v9LMo9qvl&v%hW8VoGjC+x#MeQw1?s%5;6qC5Em9wVr35t3UUYvfcdJ)lLAw2fBZUml~w{h!ahXXc*!zyEV)etHMJk&l_N z*A15$u49tvQyx)uI zT$dovi^{_e$5AgFiEyGf>PP)-ZrU$AL=V?5P;dAdHSt$e<};|uxtU!Lh^N!% zx%RpMm4Jgvu-SgzhT0nk?Rex6Cmg1mj^#BMP^G_u+7pAAgJY=8Hi1g$4QfwJp$pZt zCpHoK9)BbMT8J};SWT?8qe_kzF+1t?b5nT�p{?@qa7jf)_RwL@iNA)DYVVC99^S zv_x8Oaxz;9RaRwQYOIzivlptu7XAJ!?SOvkOKmeJDw`^z^;T1PRS`e2hENMG@^>k; zZ?XwhtB9x~%88{G=A?w!VFxxyl}qbhOlV!zR90<9AECckZ5U7VLtKYDx+h_`D>{F$9n diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/fr_FR.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/fr_FR.mo index ed18f3e877c801dcdbe94b8f7b4b9eb2da6e8b49..9c960e1c4ee16d76b99128e3dce8dbf9dccfc475 100644 GIT binary patch literal 39336 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 diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/he_IL.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/he_IL.mo index 77132f75ae487c3e3635fc5a311003af86af1071..88356c805f988547b4abafe54485b61a94689513 100644 GIT binary patch delta 3266 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 delta 2264 zcmZwHeQZ-z7{~EbI`&eSt8B1!FxK%ZFB_DNxy=a!HVTMCke5v`(!qe5b;WK3mXOS# z29-#hS2QZV5HCa_MzFycf}kOY@5E#w5Q*G>G)9*w8j%nd{Qlaz|2*k)Kj)l#ckXju z?)t(vntFd4m2tpOHW1^8+ry0M#jC@)P%dW~GYYR@CJwm%joGwsp&z|8yjXy9u?QQn z8LQC3Jp2+h-enxASN%>!1K-37yn}joMUF8UScL^xi@eJ;qn=-jBk)nTKkE7fGKA^D zT-<|t{zcbU(MS6&9HFVcPlca3>E1Y-x?#-Ms6;NIGQa9NfEw_&d*91wYUiMy^J5_f z@h+@!`@^V}T8En0Hr>}!$Eau~yIr3}4frzhGjDLY8;_ut_!DH8%xTn$oW&qsK+XJD z)OgoX2@Rs2%cWD}jz)4fbYxLe`WMD9m;$Fi}4@#0YBL&p)p*Tgqeu3E5C){MVE?bQ|3AO405F@u{* zB#fWoD%bq{bh{sC(SLxqR^xe`jJHt}oiLj1#A&Dm&i7IoOXVug$D637uHmj+;@X1u z(B6hhun&3E*vQYE;!=t~-~_ym`kV_mi86#!uo)-f4!6JeH7d&NW7I&OqF&UGN?_16 zwUa^;{;)sl)@Q7fwSZuo{)nPMm>H<3xS`$Ej%V`(3kH zuT8Y;QGf6bYH2?}4fGxAMSr3a^p>Pw=tCxLic$9~QD4zw_x>8x%C_T1+^>G#Z~ma7 z7u-Q6Z%SE?*RdAQV85%yLpNxz3Z`9Jmj3)2$SOqtGSuJiMxF9ka1NeB4{9|Q5krMx zO}QFN2o0d3)6Kq^`w8vqL&Q8{1+msznK{ZvFqz@eC3=bviNZqj{L%zh0_v5X~b52h6M@CMO58GCkJ(oJhu^`1T&_ z?VJVKjq#nG9r4I!>sro{j9I~^UDlJn0_z!Hk$-7ydpyw{+>(gLf?J{;?bbnGMe?Gr z(38ERt!q;v+SYCjj;K%08~Ob(e^vSH+VVM7!O*>Rl{IytkTou^bWx~0R2>Xe)>X}! zF`MFB9_i{XU!90_c6CI$$C@Qpy10|L}(BeDh*r!v^?X?;MWnRbLW3>nNC2s}%UaPpI%xW$< KksLq1YxsX_(iuJg diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/hr.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/hr.mo index f8ee9294c9b50c15666399c3cca8a9ddadf62b96..55ce5ff49865741aa65032cda7bc4d45c5f18612 100644 GIT binary patch delta 2768 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 delta 3411 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 PJUUTQT70whs~P_Tb?cq6 delta 2780 zcmYk-drXye9LMqB5eY;PRD!t0qex(aas+Q^UQr^Lu{x=Wwm| zt%Z^AM-AO=NC6_B*pXn23U1uSh14|6m{GV4Rn&&b*nt_?jl5!>!4bF>r(hq};BlG%z*y$hIym+^D@H_6mi#Z#yX-=bdl5wr0Ms^b(!r}7-s(vQbASdA;O549qf zQT4Cm7)<1br8Xs~6`6s0K95VpBGW`hGv0veU=tSOHq;9TQ3HD)wbUOYZJT4Lfq#jN z(R_#enG0OBrGKH?OXX6A`B;i|sDXyk*?+yTkpeZe1=ZmWWOd9gEWy2K;Q*@MFQ`NJ zo8whf{Xd-h1eQnjl28LrLrpLfwRHukeo8Y~{|CraP_PKMpk5qA&FBQ`g)=x4FQV#| zu$~JsfJ^XQY(Y)C9$K*y4`Mm~jFa@3qwm4_*o^%VGCHk^Ty!XM(Z|%>$U9~a2S778 z;CKjm#T-Em^b2H6<}_B}In-yDe}^$s(S!V%J}zqiZKR4BK)NuIGh{T=Yp9Nfn8)Q^~toChaRd-Q|j zc~l3NQD@`^s)6CTakEhaFLLfHocmd*!&QeI2h)I>*jg+?FaCpDF_Hew*1Y&gpGS4H z8#R-D)G7bKDL;z(j80<}o<~0x@Uy87x1*lFfD`aFADNu_3}@q6EJ2ILwGy?cfiz-7 z9ke<1y4%aRygn z@!0rQKRz}RU-F$4xOi}DVw?U;8oiR1RcSJ@G?t5B=70vOq?MUROeC5Kt)#X^UqOJ- z??eZow3hzkdxPafHBm{l5gd54jF>^_N2-=k()Y`jngrh$g4(A$<5||7=SvX%BTCbU3CEt%Q;eT{|(JV5eexuTQms(65~KTqk-taSx$X zO1NXW_-A?-d4A(!=S!cr4(3X&!$LCk#B4%`Zaz^*_=t6c(m3KiViHkEtS4?w`aFja zYn;N>jx~01%GhW_$~IS8u&dWB;9}ML0v-10;nj9-YH?Ogu(ikU4Rm|DeZhdK32qE@ z20d-|?9`&@lc}p+_F!6avenq7r(ye4+L&~IS1{CVwTFU!tKHY>wSP|=v3SD@P@*)W)+9+`jPvhqeop# z$fzo>m{C5t%5qPuuAE-&cH1Me3RB$W?x~i$vbt(=bXr!k%QZdPm%ZKi#OEa z3EMdZAKGUNc4-pPfjiS&1xtf%-cDy8M&l3pJz<{}pOBqo^<*`8{2r^x8(6olC*X-s PN>e&)9gc1vb79E8nIJ-# diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/it_IT.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/it_IT.mo index c0ecabbc3fbd3ff2765f45aec27aa04990d5c368..9e89ac3a1673e167cadfb9b48498df4918c179e5 100644 GIT binary patch delta 5067 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 OGQ-De!f@UEjsF3jIY3YV diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/ja.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/ja.mo index 788849876b5569ff2c07c6cb731475141112edd3..ac03f4b35fca6def489096773f5808bdf10d551b 100644 GIT binary patch delta 4462 zcmYk(CHa}@8_KJzVEs3 z8;opoz58hBw44*Y(XvRF6)cfnf}eIWYod$Q8PJX{Q!GWzKDA9I%+_jn6^wu)w@ye z4MxpygsmTgTB$p%_n`*nLrtU+L+_G#f{b3QW}WxqTvYkrI14+Z$6uU_YS4q4(NbGp zjq@mP!F%yb?0}P57Cko&HQ=9H>u@OLKu^|R54KUEk-dbP(JPpRr;$mUPf&;I8%)6O zP+RZ=ssl~O4c$?Pu@KeaNMu({C2HWau{YM@09>8H`s+p;6?58SgD)D|qWu0#!Bl`XGFJ+~P(LkBgHQ>dA~iQ1aCQ4@I|8F5VEM|&!{u-nKjkTghNz} zA)`}XjhsJIi?dkkRmkMbx&Fr7j$fgcH1lWi8D^pOx&ZZS8H2h%9}BS#_5O2MjYqK_ zlLy4h%P~ZlGhDRv-=I!y(!jWxs1EW`_seblOr$MSYwI^6<29|QrQeV0_!X?hv#3Kn zjDw~2Dp2=l`haA2^13;ZL^yJyb^@S-(YfkenMo<=LqFIj8}a zqqejPHLyAyjtyAjVx>Z4lBq}@Y|I|)fhr%v<@g3_fTf%qE%{_r2lc3qo3RDAqaTNI zVzm`}Ft(DY6*`Pv@Exqe^Y(ryhp&Kc6rdU&g`@Fq)Yd$SYUqUZ4b*_%LJi;oPQ|Zn z{pca_flfpH8kVA-UyB@k(}LxA40%6fu9DeGMOTh&cifHY@Q5w{4mGg1P+Rm7YKA}A zdQ-%Ao^l52xhmAaYf;ZXjnnZ6R^oq9D_l8L6KDTtkkMYoAT#45W9?scTkKP*jQ9Y6EOv=aV|cHI#VaD*Dy%AWF+hV3o-}UKpzfb z_!YPnwO4<|Ie5#cctefWGpK%`vV?@uh<%XJ#zB~}oV2<;=E`PlzFG~$iK(J_+=9XO?G;(kKsCxhrg zEFxwTQwXKU;&515f6iDe?c%zYm`}_lluF~6ZP<-?hPa!^C6pc@bbf9m9lCVFPmCc3 z51B253Lfw++tkVz%rR6?}Ha`DT4xb6SS z%05n15HAvZlgvy){qB~_xF~HV^phx8fs{{djOF4NH;f?G5W|TCVkx1dkIfchA(2Ta zO($-T<@k3$b|v)FyOCy)38=f|8#TCg)Y0+`%SK%|pJ1I%i7H;m)C+Exnuk4MBI6r_O68 zdxJslxMv1EO+oL%$mI-og43^eZ|9EQ$DEFt`Odh^;zZ99uk&o?War1siu5W^Ah5#U zw9r)5dp!ZKdydB!j4bGL+~t(?O-&3g3pjW8&Fr|WvC-cYbbNg$Mb7tq*p=v|g{khH zPXDaZvL-Vt;B9K4Q8U}y6!7^QZs;BmFtdH$6>$T;pu4etS)H%Jy~w}B+vur_xU$n+ zkt6-f5+mJmPPlF!mS0$sUpUlVSW;FptgNWixiF|-N=bfEiMz0{tf+WvZm)ugH1B)F z=Xa0yH`Mx;xW{{H7P&{WAPs?fPmr5|u?rXb`~@}sB?SwbBIUVBF4xFN|9Lbj|D0=5^6EYa>&O^Aer?!?Pmo!;@Uj_oXFH`G~5H7q@J_eBg-l$%swP{*mGC z(eTsJ<`dEIZ`4kBy;EN{F!IMy|47Kb^uo4FCtIR)*394{(eOGGdvI;6L;5)3bg0Nl zdNmr}L5(w@qB?S@qDMlfaO{EbPUrNv%TB_C>Mqf6TkMr%daQkd+xcNaR(>@6tR}6w r?o;b)UXF&h>#^|e|ILYIXm5St^1hRi;KZOSa?|9m5+j*Yx4HfcWFd!6 delta 8100 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 diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/km.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/km.mo index 300e50a1d01b337e184259e3a3297629d2acd71f..cffc6129ff1e10025139147ca149033a2dff5c55 100644 GIT binary patch delta 2808 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 K(Y5m@dj10eAX}vX literal 22195 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 MvCb1Y*>k=3KZUBax&QzG delta 2608 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 literal 16680 zcmcJV36NYzdB-34z!o;x+{S=gGV*~nvyv=>y^<{Jmar~sbpSTVZ)SRC-tNqMB1%yx(0aBF!p(qma`*-&oyOt=E za<;bj|N8F!`n$Tn{pZJ>{-%hZ6Qrk+)}0wek9tHD?KwxKQPe&!idKLL_&D&jpxV6? zq-pe-fG5DS$bSjsH~JcXo(g^+RKMSVr-6?3NJ_&pbSOKpBH-Ou~99#$94I1#r z;1j`f8HCU1V({_cRUy9{d@T7JL4Knd{%Gkh1GT<8K-J#~YTb8%XM^{F=YkJ_Rqz|& z8Q_@=emZy#sCMUr7l0Rnj{>g(p8#$Ip8*~W<+p&EZytO!_N`-xRnEoCdXyKB#@%3W_dw zg!;FH`uBwVM??KRpy==qpyv59sQ%vuF9Lr6iXYBo@uKVH;4{H%K<(#6p}YjO?pJ|Y z*Bzk7y({4RLj6ZTjq^$H$>9B<=KZHo{$o)5^lMP#oy%Z4pC^E7cLAt|7lSC^(|0*@?%i^dNzxCBzP_;I-dt>-lu>DycFc9 zqFtcQ?IcxAE;3Z%Q(O(R{ z4ZIY5^3$W}CEzBo3VsH>68tw%^%o(02HXj1J#A3ul?Kc~t!FmmUjbf2{x(qUKL=h0 z{yivq{yX?Z@E70M%H@BxsmM(4p? zEIGOYl>F=lMV|!JI!aLVUI^v4g9pgp39bkK1=M&KA#~fpCU`ygA+QGi5)@r-yck^y zz7CuK?*(Jgmt4@sDBxVii&OnHQw7nwf`IN(clU29Plfk_~6?i|7%d= zpUvTEyz@cPxdN*FHgFku1E_u81Zuon0=_iVzZz8gH-c*SZcyWX3PhDep9M9}Hv)bS zRQsQRqT{bZ`MC(2+C2r7p1K%R{W_3ik9LAOx9dUe?-+O~n1JHDH-K8-=RxiB%b?`t zC!pwk293lYPXr|wPXl!xlL4;-HUAD!^t=HSJzAjF`!Z1by8{%zz6%sT-ver#6QJ5Z z0G2sV`}rxT z`F;-a8=bbsuVWpk{ag>~9FBmZUj}MFuLRG11bP)bkNi8ptbRWs^4!wt$XD)-o9M{D!&>O zot_Qq9JheifjdC0_jV8#iCzbauJ?gI1HTAr-g{vlt$P>BS^GQ+s$C39?x#WN!P`NN zcNcgJ`~bKET*hKme*-A~?|_n%*MOqS2SD|^2NZq30E$n(0p1LLA7m-f_Kn^iygcCj z;7-aPeXX~%Qy`>_J`Rc>e+a?~(FL2(UEtn;?*=vg&q2-m$m{(2mVpN%=m%Z^&VsAJ z*Ml1OUQp-ypCBeEI%9Jb!N$=WN%xYp_CF`O^A zqzg&UByA-%NuMV@m-HHvA?+Z2jPw}Nn@RVO^z&H{(Vbv}G)=lJlwApaf%GBL>q6PP z!Of&Mh5R1{Tn)Y|d~X2nCY?t5C}}oZB( ziZljOe6mhrL zv8JA-&7@_TNyk>{%wa`av);V>WA-HJOtdv;7dp=8XZ_slNb&;Ki&NWC4IEWO+pGw= zgk={MKA33(ThX^;OA8eBJaOE}w`?BKRGnaOpc+q-enF>#}jTPE-mN86A0;i z@^UCK+mDwvEhIb!-Z9%}kuZ1@ao7R5kc4PQ#~x2u@S^1vkvn(JEzA99U;$U`_``qo zYe-ROT_3e>dWLarJiGYMLGv65i+1!8H_tC(iJdmJd5rAxRhrG{g3`j-wX9!C=a@st zL!QK)!qxA~%A}dl0QMSg5}}5#3P{8djv1!PSi=nSh0i1NWt-NG{&BM-kGpm*%V(mU znb_~arCAH|9JRG3vQR|3Y|?6%K&NMtZZFSft=SLDd1l*{xHc5#(eAF!B7m7-ohQo= z&&oGnnr(_!hY#)<4CC^WgJ^eAprWEZwpsG0EaAkdUR>AV?n!2>-^eDuQ)|MarEyI- z`6Akjsxx&dJv0_{jGG!mQn#Y#mG&{QpKYuNDySOmvydDvO3?|0o3Y>1rZ)K+5k;SK zQt?26)X*y0mzkur-9ocC)mYB=teKO*H>JQBI5TLrBt~g=P@5bXB`D#fVd_#TaEO_U z#l^1q{$?}UpGE`25YX(eP1AW$Y>)_xMwez_+5JN5Vda`<7SVo=$E>|-^@w$f=s;W) zut6g_(6(uY6k>p;{O+Oyj;+kmI4Prn7$3-!x*g;S=$M*z3@;Qg1^m)eH5<;^1#Bw` z3q?uO*`c|lXp7%mr>+jBWTPhIv|K~e%itv^wlO76cT~~Gxq(RRWH8_=KjXYXZ-nD> z{e9amMll(#$B$X8GIghMH`wmAUVSWHB%^Pbpw6IC#)i$j8LmcNM22Elgo2SIEs>!y zDPLOC=1keO#Z)xlG}FMD7)&r6&tOakr&yb3|D02&F_)lrOB;8^RgHl*F3emzGaCv{ z&?!2JdO7cm%e7&hBTeI1!{{QZj%^kGLcaqoz24NRgV3uVa8GQ!4H+XZ*I)`YkD09bFWHBwd6Y%h>`t3mbVw)W2+!wnktJ!R{&SnHXP5xl zzC*~uj9aPfR$tzpq?d`LpE^v2?m~)X+m`#`Mw%S$BbGt#8}sV20b2=&3~l$d5AX2Z z7;TGdnVStuCb3!xs-&;wxE668tx$~1HtIJndT@l(j;_)6xR}TJZ6&3g;9&ge6dVXA z3hdkQ9GunfRn4I+NQj@N>HMG2VW=Uz)XVjjiWbL0%v4@g$H>fzw1Y_+w#3W813pBd z6vd6behv#2_E-mh>xEuHOtn$|b@~2kc4K3())$&$P~-jU#?TEKOwhs&V#c_XG|wQm zGRbkufk~iN;T{>>-+@Xi;LfVqU5b#1ddlGzJ=~gP)-HE*_iQFL=LQVQU@2Spc7ceR z-fQg|?xl13nW7<6s71`d*qjBcLQ4lqp`w|6(bXvE352LI?z-uMB*w#}B=9K%c{=vf znG_NYJbEd=nsuAuo>OObM+E2HAJPp14+kN|w8&RvownO6=c`<)P3h0I4yc{uIq(7k;Bf_)&9IvW|G|A(ob^f zZ~oSC)JChs|HRL92SZOe;)fSgVTDZc3L_ctE}bNP;OsX6q zC+l8)SB<|)h+lm#=Q4Xlj>P~YhGRk>!B@;L1{WKLp z*b{P6CS9a}(eo5vHagqFsmvp1BU$8a%_#=xX?IgO69>v3P&eR*^=&b9uEA9Y}2 zy}#z>5W`C^h{?J5Vv;q0l+<)Q8+%R8Ft$^dt%4Po(CoKVi7sOuMHS!KJ!E({{wR9s z(n4x7I+`@fb|ia0bg#+iNugS;Mx2au{n#s4Wbdo`Lr#a+Ut~|$UnAFr#|@b=<_x79 zR~%n~qblbDT{r0lZ1~HecPIPJW>Qa(Jv{*EN(lk+I&@EVrUWks(-5~1TP$@baYK%q@fo;ySYsdZJ38Niqk?mO7ELWvF90wB+y5+PeF^wBFLub1YLXy*uu%7DXYosQ8OZIdG%AxxA-D^G28pzsMIJyj=QZ5YeICd&T~RB$ z8{?w4Vv5wuZN)rCC%3?*q#Y z>_1f5>K@0kv?4Ek(yU#*W?g0VHI=pN%$ny+UU~K8nl)FfUOl;bHH|9=*`jpJsO?pi z)oUtio^94#Ik|2v4QaQB+keIR1-Rl_K8d%QrO85)nJs#$>lz*>+hzlguW3OGsjTZ7 z(@CafS8MsT43M_^D6NXF19b0~w7+a0cQ%wg77q5fEF9$A++5WSlr-&ew{Mt4L@XwH zOHXZrzHZ!!v~z6Vo{7ts?cKe1`-s$Qs;if6RM6`w=ikkT+4Xq&f`vH2mDx2249gaHm+T-dm*12 zFH6nxjb_c|>z6&RGQ5LMnij^qtjzT)$(pNEv%0#jdNmCWWO}u%Y{7>1;<7zys?~|H z;w+o##<mP9w~;cRpEPo_FuB~$xF(J2uebAJ{bCOWd(s>`w*Hu1f9&|=npJD- zd=5TR6|6s&y8NnjRHet#Eb9%5hnZDZ*4J~VI);;;GnhWxWw#SPU8x`53udZYBoMrft=MXcjcU8VxR7uo(B&dFB?3TCut?T*i4#vc7Ccb#=gY% z=VbZpY-U?Fb@2>Y|1PgA2)v$&d7I*WDJ|!cnHgTS{Cn6~)n*#mX2kt&I83zH>H%gj zYD7c>`!PK#nW$Obyk;19bDYld{Ap9%_c?mC&^59umWak!mAm(LfJKXdUMHl7JT(pQ&JRIE0X-k{ZEZ7;FZ^H9Me<~mPF}<$P9cEQa9s>EJ=ldSg z&AR+7)rW5=S?7jb;EfFFO>kHq#zhXoB}E-8q7y`SCuK_~oDU)qn1o} zP(MVahDA`PK(i=RG%D=5h{>XMP_NCyC*miA zkV%EBV6O)+?BYZqyYBik+|s(d7vStpFC=hg1g~=-?tMIPQ%4*dU61c(+6nx|^RUiz zmgVEobQ%>OE2)VObi?=5aQs~5eFvhbd)7-%d{8W|;0f~%vd_)>a|VVK1IQic{gk!o zg@d(VQhgw0ASn$WQaQP-j8~$HJlE=S!seg@18zYDw2_cm5pyVOuwCH=kz%!A@=hZ< z%+&syp8FtzM%WImI5Wjnaxrc0rAaRYBbi7O=ra_Iu^0C2YjVBHD1!j`Re4od?Y{vR6Nt2q~{Uz!;uVeZ@^>W&ayZJBkzWbsZ;=)?#~ft zfrAW`bc%BrigE3-9#U<%JGWq(mgSZvD$eRz*FU3jRPHk9l$+Y(6ChNm%Xu?>*pwwdY8O$;{BqqY2Ht|EOUn2%M1e$EX;U_ z>-imTig-n~9ZyzoTAH4bh}>k*OST+3XFWtABZ$kpunXg)vBBTcJ+yDg>Ppm&B`KjA4M&f&D*IbE7S<_933(`!HD0?LNc9l z{<9jDsJCn8gF1+@59^?deK|W@%zR@V5iT)@3*$hs{mw3$%*S?gKSwEvVf;yWlhutO zp)0M~wl<)Zxmb@g$_;Xg_Y4@47l0TgKZlSu2!)1t&k}+}F3>fnhHN;l_N%q(AmBrY zWty0gS3T6u@E`-|8OjSd3Y)xwN<{V2#j4(@Fb|CbH=&Gb3{X z=jrL{h>KSZ#?&tO_l<$(^$%K9!{uKn!?}sZJRiYH@?s@izuEQDjj8qG{Pb!VO{uyngS?NvFZIywm-TK_XGxAMh$; zVG21IwcI9+S}a-eY&yI^`ty^5bl1cRH=AzEn-YTrZ!*M*Fyf1>qI34fe6+~LgyhLN zZx62xLNYx(?7Rd~NNND3iqQDRPXDk`DTtAm=p#ttH*G}{ETe`8DQ||7mOb%Nugu_) z<%{d2W~8<)uXl?&1*!KQ3(+M!$pxNkoS)Z4PmR{LJlYw&Bp+tlPF3LEpxK-~Us5!5 z9Y!t{o@Zt@sfDYJ^6tfMLCVDaAqh@td-uzEi7WV^#>0$#Pp<4@RK4w1p60KFY< zgdh~YoJA~QD`(2(W8pM<|J@rVSkf6p`AV3YBC)56MByu7$nex29EtjWm;?`QaUe<_ z=E|Zn2t-ZG$HO0L;aYlCQ~G~J!BupTD9%L^4WF0__La^7UnIU`kt_HjmL>|Ul}xh6U72(iPQAu=VE#y{blGB#BiMxfMcEHpK$ zFbnwH5`{4GQWuhmF|*v*yk)VS8NE?;<5eh=7OpQUfMo?2t;#=HxbW11?KBm99L1-Y zAKGK^o!VKd>xPO6wx#8wwG;!x5{x|*^w%>f>p2!AYQluMndYMD3uVnp$3Llsi-3z?amRA;E7*(!&6p>d#_Dz5tZdBkE+TpoVi{x9s(Aq~e4?q-1I#2X z)rOK>Sr*eLM6ytnK9!QeHlu)UFs;9Yw4q!c#TR zwYb}OOA8rJjI^w_DEFzBIFBsNDhiK{Pk+n$*I}?*j*SIH^c0X~huX7kYe`CI7 zK>TG`{#YwsBr{^6g@kc&=_GdwpoN&@h#jnZyBQ3+w68zSaZ%)7Q2dP=@&p?v z4TM%22&vcBVu%o28yqnrDUIdN_Te5A9Xxs^^HDS#@qduzWj4JW8!_RCKDc);k61AO zMx}ql;2))|Ehc>TW@W(S{&JB=?^54qWcl8l<9C zY#okh(N?Wf6=&l-J+0)`0j+3TZKYIw`ku0$b=5xKvbySfzyCSsQnY8~e}8-Lvxjeg z``h1vpFLQ#^V*{B1H+EoX?Q+D$D!I{W9Anb(>YkJ#w;9e%rLkJ>U}-z3tgx#T~WOo z_M?6Y90IR|ec&x{6ucd(|I=^*d879sc0m5jPJTM! zy-*X3VYFBZwa|2UB&>qkaV^vanxQ6kpyun0>YJfl{{tuwUlH+o*gcSjTPbM3{ZOuZ zB4RJ(&%DWx1|Ed!|3$>2lCXUc)VLBT&rONiXF_f01gLSRL3wa}M7IS0%i>(raVy+Q z{d%a0Vq-W4*bWt3gO3f{M?>v=9NYlQVH4Z|HQ)PC3w;c=^Dm)}taxnLUINdde*9Sc zec067ix#Ug>v<0@aM4q#4x}75}rW)_wXpzH-jeOE;t-&g5}VH9?Ze3pe!FS zISig55l287ToTnML(OwMRR6P~Jk$c^fgSKjcnwsrUk|%=wzp8wj_-o1_dq3@r=$8l zsO$9yC{N5`+v;BhKZL8`GPO?)cfJ`CZ{}*qDVYbN_TNB_I|yaq7gO=Sg5ql$v|vBB zuMXqkVmKWxgAS~N_rg=*=dcBy!uIOnFQ9h*7dRVEoQ^TD0orgYJP&>Vwey-8A?s)0 zf932Z8pL+E3U))C-78SR_92v^LuZEd@lXbz3KiWpRHjS8ANDck@~C|ZFt6WY;>EUciuHEMqpDrjDX)$oY&uwDxXP(L5yL~{uo0`G$g*5@L= z2DO3xa0vV)s&{`yfpl()=Y}sPKp9jHb&pSgiso845S|M)aR<~j&BK%6kD+$>3RJ&0 zBOZXQGzJ`mNPgh%WCzeYip{}IZSA4K&};W5;|i0Vgi9RX{Ex&%&vKGab>3FYd&P)E8S_J#iywf_aaL;agY_+OU4 zT^SDiPpE-^huT4ZvXBKQ!?Caql6#B|)$cN>o$Z1$WH&qqJ`NRABe@#dz&NO2oddOz z#ZdjLyD4ab)ld_j8+GuYT%Lh);SR{nF}vUh_$riv??H|G8V-j8PY%aTfMcjHfaBmA z$f=n)g)KQIw>Tf}Laskv4 z)I#mN8IFc7EQJ@r+3+^Vb?r9$D9EMfRE7Tz*bX(|CfEZXgWN#VzJx$kJCvdCK<(%N zRIH35Eoz=>cp-G5Ht;dj?fMLA+~-h+ehK^N{ueI|KOzI662zHM7PdgS{wk=my9sJ% zyP+n27OMZAh_6G7`a4h_{X0~&7uAHGm<`px3jPhQgw3pPPOc4iyc6n7?}L-!OHe!d z6l&ney3mjba4hwiP%*L`>is#8Khws~Y4AR{9DWU(Va>Ae{}ngFM(X`|*{z^Dn}R0% z37iCX!zTDTJPS@<5uWu{SWNvgsGVI6hr?&#I=Bxi=%%g=zmiL!Tpfp6=K?qi-Vf!; z-j(>Dz%}pCPy}U_o~Muo?nkoxTBPSzbO)M_#v?rnGR4cwh)^;y^awf%^+7qL=TYyw6q=dp;wZBhANs3Rym*Hb8oDvP0weuCaa-$#1RK@TF1+3Z1j&JGd$ zD!7Tg;0g90k19WgPekRPL1ie#gPvc8Fl*t}=m4rf+mN0`=zHj4M7)~Ks0zJ}ZbW*n zKrbP}$`C3hq5H2$-G@FzKR`+{go9~7@1d>ee)K;2A=1-}{te|(umfnJKOpi{@W1EF z;2+UMq+4LAVLkdi+K4JqE4l|2 zo`n={k1AW>ZuFMwvi@;245d(C)P`K7=N6cZ9E(Pw$!H+b4&nY2c3`fT!p5h z-=OnQ;rTO#6BV+TQrLigj<%x*P~kbA!ZlH40(1&5;Jm}iA5lINy@MV?AE19n{=ngj z%39OzX2)vi%(S_Ql&OxztSKQ*^OBD0bLwJl+FEXRb~?$Nf5C_Y#hbjO)wH(WKV#$* z)018{le} zwsd*Pv}O$J8=1Z_)1^jJlXO@;Wz@UHPC3>(yQLFzlg>tWi~p-pRaG19OlR6!=f<79 zmvAgMWi_p$!f+T}2b(7=#a2c$;zP3NLG=J?pSR{?f5; z9KWV3?RuQk%6QYcM&frDdqu9V&{@jVPhBU2M)3|aqamP?1H0GZ*vAi*g9&25$ z%Q1~kr_-9Y)_a*lVfC#Sc7mXA;`B@6c&je4+2t(bP9j}sQc(NXOuS$k3+sd$-8|EF zx-ot+IA$kf)-sMirK&cxX40{J!vOZ%Ce_vkqbzTum6HuAR-2ZxHhFQUi^C~1Tn{Vu z-FVd{2)hSnmHEG$^6;Fb=LPrVTXTgIq;H=H*3AR+`h2ks0Q+?4%=us!a1HJB_-ze8=YBC{ z!R+#i+2!-B@`}oe1(kD8^!Lr1FrZ@g+zP9_ymIb*|EqaZdlt-JS5&m9=kkgbMgEry zDk`cw(zz^Ira7H!&3Cw@ij%$n!e*2>J z-Hjbym+NKiM6T4FN|8lt?SxY(YstEfloCZIXtS+Yr)@Q-y6j}DYcpdkk9{4QK~?3{ zj+8R2)9G4E?Yxq7BG-z`bG_U4Y;Vn5>13|Os^tojVDo-i<>c;KFP`hYu`{t}JGYq` zU`^gmd07hWPKt0S3*c+`xg>K;?BHfz0n)@90qSK2MF z3%>{FmhN!Ld^Cp1LqozWPBq*{#{X;8Xn*vQTSuY6eGJKFL3g5^BTTenZBVZ?;p%?vviP_SF}st?6&@rp>6oA;XEhT7{)5XF zk8F(6{RTVCTtV>r2bZn1N%aNGbY@{FG-hAyX;-rU*H?TLf)w9-L(+>8c&QH0;tP=F z%l+*e88+q}zjFDt6*|+vF*(H&_cFDl5WWkjp5f|%!;x74juRW z6)kHt3->?)98-We?N&PLwS%n74NK$>T^L*a_%tx5?o@bzgT8H^MVgekmVf)IN6Wdc zL|PD|(OlsQMvKLqZ1`E=BrU$5xopNicj*&?U%r(gRcdz0`CPi)PvwH;QPQy z@XO%M;F{+~kppKz{)pT^nKL~0)?*}#C-vl2AKMkt?x57;C z22X>!-*$Br9Rnx8qu@J1wf{D#alQv?9nWI3HLsU|dcGMHf9?YB0jI&c!H#l z-&cTYcNM7huMM~f)V^#3H-q~@rWm~r6ulk<)z7=b{RhF-+x$-{*( z&C|eDp!VxB(Do5@++Pcd&v%33gI9p!?>SKOD!})E_kx<&^$`8r;4Pr$b%TqdGvFks zbzj0{M28oE_8wfT_uwqJ6yAR-+%8l)z2nS?Oz6JyeUxgxC_)g zUk!>bi=g(S6Y%w*+Pw)>KW_(L1%3dmf)`&KMQ6bVcpZ2XMEP;>7)OuUd;1u^Qa0~dmp!)qk;BIgdBJBs? z1kQn91P_3>k9oSi5u|GL36TGyuklX|K7S*73iiQ^!7qVY*H=N&?Qg>Ki#K^ad_}

    YfHcm?3c1x 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 delta 5415 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 diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/pt_PT.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/pt_PT.mo index 1f70f6282c84378a501a82a1838c71da3948af82..7448f949cbef6450bbcf4a7806967d1ff248ef5c 100644 GIT binary patch literal 7081 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 diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework.pot b/admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework.pot index 1c3eb610..93d09c31 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework.pot +++ b/admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework.pot @@ -2,10 +2,10 @@ # This file is distributed under the GPL3+. msgid "" msgstr "" -"Project-Id-Version: Redux Framework 3.3.4\n" +"Project-Id-Version: Redux Framework 3.5.3\n" "Report-Msgid-Bugs-To: " "https://github.com/ReduxFramework/ReduxFramework/issues\n" -"POT-Creation-Date: 2015-01-22 18:37:41+00:00\n" +"POT-Creation-Date: 2015-04-15 23:15:00+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -25,46 +25,79 @@ msgstr "" "X-Poedit-Bookmarks: \n" "X-Textdomain-Support: yes\n" -#: ReduxCore/core/enqueue.php:346 -#: ReduxCore/extensions/customizer/extension_customizer.php:530 +#: ReduxCore/core/enqueue.php:397 +#: ReduxCore/inc/extensions/customizer/extension_customizer.php:566 msgid "You have changes that are not saved. Would you like to save them now?" msgstr "" -#: ReduxCore/core/enqueue.php:354 -#: ReduxCore/extensions/customizer/extension_customizer.php:531 +#: ReduxCore/core/enqueue.php:405 +#: ReduxCore/inc/extensions/customizer/extension_customizer.php:567 msgid "Are you sure? Resetting will lose all custom values." msgstr "" -#: ReduxCore/core/enqueue.php:362 +#: ReduxCore/core/enqueue.php:413 msgid "Are you sure? Resetting will lose all custom values in this section." msgstr "" -#: ReduxCore/core/enqueue.php:370 -#: ReduxCore/extensions/customizer/extension_customizer.php:532 +#: ReduxCore/core/enqueue.php:421 +#: ReduxCore/inc/extensions/customizer/extension_customizer.php:568 msgid "" "Your current options will be replaced with the values of this preset. Would " "you like to proceed?" msgstr "" -#: ReduxCore/core/enqueue.php:377 +#: ReduxCore/core/enqueue.php:428 msgid "Please Wait" msgstr "" -#: ReduxCore/extensions/customizer/extension_customizer.php:565 -msgid "You have changes that are not saved. Would you like to save them now?" +#: ReduxCore/core/enqueue.php:439 +msgid "There was an error saving. Here is the result of your action:" msgstr "" -#: ReduxCore/extensions/customizer/extension_customizer.php:566 -msgid "Are you sure? Resetting will lose all custom values." +#: ReduxCore/core/enqueue.php:440 +msgid "There was a problem with your action. Please try again or reload the page." msgstr "" -#: ReduxCore/extensions/customizer/extension_customizer.php:567 +#: ReduxCore/core/panel.php:65 +msgid "Warning- This options panel will not work properly without javascript!" +msgstr "" + +#: ReduxCore/core/panel.php:141 +msgid "Settings Imported!" +msgstr "" + +#: ReduxCore/core/panel.php:156 +msgid "All Defaults Restored!" +msgstr "" + +#: ReduxCore/core/panel.php:170 +msgid "Section Defaults Restored!" +msgstr "" + +#: ReduxCore/core/panel.php:184 +msgid "Settings Saved!" +msgstr "" + +#: ReduxCore/core/panel.php:204 +msgid "Settings have changed, you should save them!" +msgstr "" + +#: ReduxCore/core/panel.php:212 +msgid "error(s) were found!" +msgstr "" + +#: ReduxCore/core/panel.php:220 +msgid "warning(s) were found!" +msgstr "" + +#: ReduxCore/core/panel.php:340 msgid "" -"Your current options will be replaced with the values of this preset. " -"Would you like to proceed?" +"Your panel has bundled outdated copies of Redux Framework template " +"files – if you encounter functionality issues this could be " +"the reason. Ensure you update or remove them." msgstr "" -#: ReduxCore/framework.php:223 +#: ReduxCore/framework.php:220 msgid "Options panel created using %1$s" msgstr "" @@ -72,100 +105,52 @@ msgstr "" msgid "Redux Framework" msgstr "" -#: ReduxCore/framework.php:227 ReduxCore/framework.php:231 +#: ReduxCore/framework.php:224 ReduxCore/framework.php:228 msgid "Options" msgstr "" -#: ReduxCore/framework.php:1384 ReduxCore/framework.php:1385 -#: ReduxCore/framework.php:3250 ReduxCore/framework.php:3329 +#: ReduxCore/framework.php:1389 +#: ReduxCore/templates/panel/menu_container.tpl.php:63 msgid "System Info" msgstr "" -#: ReduxCore/framework.php:1688 +#: ReduxCore/framework.php:1692 msgid "Enable" msgstr "" -#: ReduxCore/framework.php:1693 +#: ReduxCore/framework.php:1697 msgid "Disable" msgstr "" -#: ReduxCore/framework.php:1699 +#: ReduxCore/framework.php:1703 msgid "moving the mouse over" msgstr "" -#: ReduxCore/framework.php:1701 +#: ReduxCore/framework.php:1705 msgid "clicking" msgstr "" -#: ReduxCore/framework.php:1705 +#: ReduxCore/framework.php:1709 msgid "" "Hints are tooltips that popup when %d the hint icon, offering addition " "information about the field in which they appear. They can be %d d by " "using the link below." msgstr "" -#: ReduxCore/framework.php:1710 +#: ReduxCore/framework.php:1714 msgid "Hints" msgstr "" -#: ReduxCore/framework.php:1835 +#: ReduxCore/framework.php:1841 msgid "Default" msgstr "" -#: ReduxCore/framework.php:2994 -msgid "Warning- This options panel will not work properly without javascript!" +#: ReduxCore/framework.php:2680 +msgid "Invalid security credential, please reload the page and try again." msgstr "" -#: ReduxCore/framework.php:3045 -msgid "Developer Mode Enabled" -msgstr "" - -#: ReduxCore/framework.php:3074 -msgid "Expand" -msgstr "" - -#: ReduxCore/framework.php:3076 ReduxCore/framework.php:3386 -msgid "Save Changes" -msgstr "" - -#: ReduxCore/framework.php:3080 ReduxCore/framework.php:3390 -msgid "Reset Section" -msgstr "" - -#: ReduxCore/framework.php:3082 ReduxCore/framework.php:3392 -msgid "Reset All" -msgstr "" - -#: ReduxCore/framework.php:3087 ReduxCore/framework.php:3397 -msgid "Working..." -msgstr "" - -#: ReduxCore/framework.php:3107 -msgid "Settings Imported!" -msgstr "" - -#: ReduxCore/framework.php:3122 -msgid "All Defaults Restored!" -msgstr "" - -#: ReduxCore/framework.php:3136 -msgid "Section Defaults Restored!" -msgstr "" - -#: ReduxCore/framework.php:3150 -msgid "Settings Saved!" -msgstr "" - -#: ReduxCore/framework.php:3170 -msgid "Settings have changed, you should save them!" -msgstr "" - -#: ReduxCore/framework.php:3178 -msgid "error(s) were found!" -msgstr "" - -#: ReduxCore/framework.php:3186 -msgid "warning(s) were found!" +#: ReduxCore/framework.php:2766 +msgid "Your panel has no fields. Nothing to save." msgstr "" #: ReduxCore/inc/class.redux_filesystem.php:23 @@ -176,10 +161,16 @@ msgstr "" msgid "has the proper read/write permissions or enter your FTP information below." msgstr "" -#: ReduxCore/inc/class.redux_functions.php:231 +#: ReduxCore/inc/class.redux_functions.php:237 msgid "Dismiss" msgstr "" +#: ReduxCore/inc/class.redux_helpers.php:589 +msgid "" +"%s version %s is out of " +"date. The core version is %s" +msgstr "" + #: ReduxCore/inc/class.redux_themecheck.php:61 msgid "" "The theme you are testing has %s embedded. We invite you to read the " @@ -202,6 +193,81 @@ msgstr "" msgid "Show Object in Javascript Console Object" msgstr "" +#: ReduxCore/inc/extensions/customizer/extension_customizer.php:601 +msgid "You have changes that are not saved. Would you like to save them now?" +msgstr "" + +#: ReduxCore/inc/extensions/customizer/extension_customizer.php:602 +msgid "Are you sure? Resetting will lose all custom values." +msgstr "" + +#: ReduxCore/inc/extensions/customizer/extension_customizer.php:603 +msgid "" +"Your current options will be replaced with the values of this preset. " +"Would you like to proceed?" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/extension_import_export.php:120 +msgid "Import / Export" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:103 +msgid "Import Options" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:104 +msgid "Import from File" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:104 +msgid "Import from URL" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:107 +msgid "" +"Input your backup file below and hit Import to restore your sites options " +"from a backup." +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:112 +msgid "" +"Input the URL to another sites options set and hit Import to load the " +"options from that site." +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:116 +msgid "Import" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:116 +msgid "" +"WARNING! This will overwrite all existing option values, please proceed " +"with caution!" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:119 +msgid "Export Options" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:121 +msgid "" +"Here you can copy/download your current option settings. Keep this safe as " +"you can use it as a backup should anything go wrong, or you can use it to " +"restore your settings on this site (or any other site)." +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:126 +msgid "Copy Data" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:126 +msgid "Download Data File" +msgstr "" + +#: ReduxCore/inc/extensions/import_export/import_export/field_import_export.php:126 +msgid "Copy Export URL" +msgstr "" + #: ReduxCore/inc/fields/background/field_background.php:124 #: ReduxCore/inc/fields/color/field_color.php:73 #: ReduxCore/inc/fields/color_gradient/field_color_gradient.php:79 @@ -292,17 +358,17 @@ msgstr "" msgid "To " msgstr "" -#: ReduxCore/inc/fields/dimensions/field_dimensions.php:161 +#: ReduxCore/inc/fields/dimensions/field_dimensions.php:162 msgid "Width" msgstr "" -#: ReduxCore/inc/fields/dimensions/field_dimensions.php:177 -#: ReduxCore/inc/fields/typography/field_typography.php:436 +#: ReduxCore/inc/fields/dimensions/field_dimensions.php:178 +#: ReduxCore/inc/fields/typography/field_typography.php:442 msgid "Height" msgstr "" -#: ReduxCore/inc/fields/dimensions/field_dimensions.php:188 #: ReduxCore/inc/fields/dimensions/field_dimensions.php:189 +#: ReduxCore/inc/fields/dimensions/field_dimensions.php:190 #: ReduxCore/inc/fields/spacing/field_spacing.php:245 #: ReduxCore/inc/fields/spacing/field_spacing.php:246 msgid "Units" @@ -395,178 +461,112 @@ msgstr "" msgid "Off" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:227 +#: ReduxCore/inc/fields/typography/field_typography.php:231 msgid "Font Family" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:228 +#: ReduxCore/inc/fields/typography/field_typography.php:232 msgid "Font family" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:254 -#: ReduxCore/inc/fields/typography/field_typography.php:255 +#: ReduxCore/inc/fields/typography/field_typography.php:258 +#: ReduxCore/inc/fields/typography/field_typography.php:259 msgid "Backup Font Family" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:269 -#: ReduxCore/inc/fields/typography/field_typography.php:276 +#: ReduxCore/inc/fields/typography/field_typography.php:273 +#: ReduxCore/inc/fields/typography/field_typography.php:281 msgid "Font style" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:270 +#: ReduxCore/inc/fields/typography/field_typography.php:274 msgid "Font Weight & Style" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:276 +#: ReduxCore/inc/fields/typography/field_typography.php:281 msgid "Style" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:316 +#: ReduxCore/inc/fields/typography/field_typography.php:321 msgid "Font subsets" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:318 +#: ReduxCore/inc/fields/typography/field_typography.php:323 msgid "Font Subsets" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:319 +#: ReduxCore/inc/fields/typography/field_typography.php:325 msgid "Subsets" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:319 +#: ReduxCore/inc/fields/typography/field_typography.php:325 msgid "Font script" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:336 -#: ReduxCore/inc/fields/typography/field_typography.php:337 -#: ReduxCore/inc/fields/typography/field_typography.php:338 +#: ReduxCore/inc/fields/typography/field_typography.php:342 +#: ReduxCore/inc/fields/typography/field_typography.php:343 +#: ReduxCore/inc/fields/typography/field_typography.php:344 msgid "Text Align" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:359 -#: ReduxCore/inc/fields/typography/field_typography.php:360 -#: ReduxCore/inc/fields/typography/field_typography.php:361 +#: ReduxCore/inc/fields/typography/field_typography.php:365 +#: ReduxCore/inc/fields/typography/field_typography.php:366 +#: ReduxCore/inc/fields/typography/field_typography.php:367 msgid "Text Transform" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:382 -#: ReduxCore/inc/fields/typography/field_typography.php:383 -#: ReduxCore/inc/fields/typography/field_typography.php:384 +#: ReduxCore/inc/fields/typography/field_typography.php:388 +#: ReduxCore/inc/fields/typography/field_typography.php:389 +#: ReduxCore/inc/fields/typography/field_typography.php:390 msgid "Font Variant" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:402 -#: ReduxCore/inc/fields/typography/field_typography.php:403 -#: ReduxCore/inc/fields/typography/field_typography.php:404 +#: ReduxCore/inc/fields/typography/field_typography.php:408 +#: ReduxCore/inc/fields/typography/field_typography.php:409 +#: ReduxCore/inc/fields/typography/field_typography.php:410 msgid "Text Decoration" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:426 -#: ReduxCore/inc/fields/typography/field_typography.php:427 +#: ReduxCore/inc/fields/typography/field_typography.php:432 +#: ReduxCore/inc/fields/typography/field_typography.php:433 msgid "Font Size" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:427 +#: ReduxCore/inc/fields/typography/field_typography.php:433 msgid "Size" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:435 -#: ReduxCore/inc/fields/typography/field_typography.php:436 +#: ReduxCore/inc/fields/typography/field_typography.php:441 +#: ReduxCore/inc/fields/typography/field_typography.php:442 msgid "Line Height" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:444 -#: ReduxCore/inc/fields/typography/field_typography.php:445 +#: ReduxCore/inc/fields/typography/field_typography.php:450 +#: ReduxCore/inc/fields/typography/field_typography.php:451 msgid "Word Spacing" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:453 -#: ReduxCore/inc/fields/typography/field_typography.php:454 +#: ReduxCore/inc/fields/typography/field_typography.php:459 +#: ReduxCore/inc/fields/typography/field_typography.php:460 msgid "Letter Spacing" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:472 +#: ReduxCore/inc/fields/typography/field_typography.php:478 msgid "Font Color" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:474 +#: ReduxCore/inc/fields/typography/field_typography.php:480 msgid "Font color" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:871 +#: ReduxCore/inc/fields/typography/field_typography.php:879 msgid "Standard Fonts" msgstr "" -#: ReduxCore/inc/fields/typography/field_typography.php:972 +#: ReduxCore/inc/fields/typography/field_typography.php:980 msgid "Google Webfonts" msgstr "" -#: ReduxCore/inc/import_export.php:78 -msgid "Import / Export Options" -msgstr "" - -#: ReduxCore/inc/import_export.php:81 -msgid "Import Options" -msgstr "" - -#: ReduxCore/inc/import_export.php:82 -msgid "Import from file" -msgstr "" - -#: ReduxCore/inc/import_export.php:82 -msgid "Import from URL" -msgstr "" - -#: ReduxCore/inc/import_export.php:85 -msgid "" -"Input your backup file below and hit Import to restore your sites options " -"from a backup." -msgstr "" - -#: ReduxCore/inc/import_export.php:90 -msgid "" -"Input the URL to another sites options set and hit Import to load the " -"options from that site." -msgstr "" - -#: ReduxCore/inc/import_export.php:94 -msgid "Import" -msgstr "" - -#: ReduxCore/inc/import_export.php:94 -msgid "" -"WARNING! This will overwrite all existing option values, please proceed " -"with caution!" -msgstr "" - -#: ReduxCore/inc/import_export.php:97 -msgid "Export Options" -msgstr "" - -#: ReduxCore/inc/import_export.php:100 -msgid "" -"Here you can copy/download your current option settings. Keep this safe as " -"you can use it as a backup should anything go wrong, or you can use it to " -"restore your settings on this site (or any other site)." -msgstr "" - -#: ReduxCore/inc/import_export.php:104 -msgid "Copy" -msgstr "" - -#: ReduxCore/inc/import_export.php:104 -msgid "Download" -msgstr "" - -#: ReduxCore/inc/import_export.php:104 -msgid "Copy Link" -msgstr "" - -#: ReduxCore/inc/import_export.php:140 ReduxCore/inc/import_export.php:149 -#: ReduxCore/inc/import_export.php:150 -msgid "Import / Export" -msgstr "" - #: ReduxCore/inc/tracking.php:129 msgid "Help improve Our Panel" msgstr "" @@ -590,7 +590,7 @@ msgstr "" msgid "Welcome to the Redux Demo Panel" msgstr "" -#: ReduxCore/inc/tracking.php:152 ReduxCore/inc/welcome.php:139 +#: ReduxCore/inc/tracking.php:152 msgid "Getting Started" msgstr "" @@ -616,7 +616,7 @@ msgid "" "try it today." msgstr "" -#: ReduxCore/inc/tracking.php:154 +#: ReduxCore/inc/tracking.php:154 ReduxCore/inc/welcome/welcome.php:214 msgid "Redux Extensions" msgstr "" @@ -680,6 +680,10 @@ msgstr "" msgid "You must provide a comma separated list of numerical values for this option." msgstr "" +#: ReduxCore/inc/validation/css/validation_css.php:38 +msgid "Unsafe strings were found in your CSS and have been filtered out." +msgstr "" + #: ReduxCore/inc/validation/date/validation_date.php:16 msgid "This field must be a valid date." msgstr "" @@ -708,305 +712,795 @@ msgstr "" msgid "You must provide a numerical value for this option." msgstr "" +#: ReduxCore/inc/validation/unique_slug/validation_unique_slug.php:16 +msgid "" +"That URL slug is in use, please choose another. %s is open for " +"use." +msgstr "" + #: ReduxCore/inc/validation/url/validation_url.php:16 msgid "You must provide a valid URL for this option." msgstr "" -#: ReduxCore/inc/welcome.php:40 -msgid "Welcome to Redux Framework" -msgstr "" - -#: ReduxCore/inc/welcome.php:48 ReduxCore/inc/welcome.php:295 -msgid "Redux Framework Changelog" -msgstr "" - -#: ReduxCore/inc/welcome.php:56 -msgid "Getting started with Redux Framework" -msgstr "" - -#: ReduxCore/inc/welcome.php:64 -msgid "The people that develop Redux Framework" -msgstr "" - -#: ReduxCore/inc/welcome.php:135 -msgid "What's New" -msgstr "" - -#: ReduxCore/inc/welcome.php:143 -msgid "Changelog" -msgstr "" - -#: ReduxCore/inc/welcome.php:147 -msgid "Credits" -msgstr "" - -#: ReduxCore/inc/welcome.php:164 ReduxCore/inc/welcome.php:333 -#: ReduxCore/inc/welcome.php:471 +#: ReduxCore/inc/welcome/views/about.php:2 msgid "Welcome to Redux Framework %s" msgstr "" -#: ReduxCore/inc/welcome.php:167 +#: ReduxCore/inc/welcome/views/about.php:5 msgid "" -"Thank you for updating to the latest version! Redux Framework %s is ready " -"to " +"Thank you for updating to the latest version! Redux Framework %s is a huge " +"step forward in Redux Development. Look at all that's new." msgstr "" -#: ReduxCore/inc/welcome.php:169 ReduxCore/inc/welcome.php:300 -#: ReduxCore/inc/welcome.php:338 ReduxCore/inc/welcome.php:476 +#: ReduxCore/inc/welcome/views/about.php:8 +#: ReduxCore/inc/welcome/views/changelog.php:8 +#: ReduxCore/inc/welcome/views/credits.php:8 +#: ReduxCore/inc/welcome/views/extensions.php:82 +#: ReduxCore/inc/welcome/views/status_report.php:31 +#: ReduxCore/inc/welcome/views/support.php:8 msgid "Version %s" msgstr "" -#: ReduxCore/inc/welcome.php:174 -msgid "Some Feature" +#: ReduxCore/inc/welcome/views/about.php:15 +msgid "What is Redux Framework?" msgstr "" -#: ReduxCore/inc/welcome.php:178 ReduxCore/inc/welcome.php:182 -#: ReduxCore/inc/welcome.php:195 ReduxCore/inc/welcome.php:199 -#: ReduxCore/inc/welcome.php:203 ReduxCore/inc/welcome.php:208 -#: ReduxCore/inc/welcome.php:221 ReduxCore/inc/welcome.php:225 -#: ReduxCore/inc/welcome.php:230 -msgid "Feature" -msgstr "" - -#: ReduxCore/inc/welcome.php:190 -msgid "Some feature" -msgstr "" - -#: ReduxCore/inc/welcome.php:217 -msgid "More Features" -msgstr "" - -#: ReduxCore/inc/welcome.php:223 ReduxCore/inc/welcome.php:227 -#: ReduxCore/inc/welcome.php:232 -msgid "description" -msgstr "" - -#: ReduxCore/inc/welcome.php:238 -msgid "Additional Updates" -msgstr "" - -#: ReduxCore/inc/welcome.php:242 ReduxCore/inc/welcome.php:246 -#: ReduxCore/inc/welcome.php:252 ReduxCore/inc/welcome.php:256 -#: ReduxCore/inc/welcome.php:262 ReduxCore/inc/welcome.php:266 -msgid "Cool thing" -msgstr "" - -#: ReduxCore/inc/welcome.php:244 ReduxCore/inc/welcome.php:248 -#: ReduxCore/inc/welcome.php:254 ReduxCore/inc/welcome.php:258 -#: ReduxCore/inc/welcome.php:264 ReduxCore/inc/welcome.php:268 -msgid "cool thing description." -msgstr "" - -#: ReduxCore/inc/welcome.php:277 ReduxCore/inc/welcome.php:316 -msgid "Go to Redux Framework" -msgstr "" - -#: ReduxCore/inc/welcome.php:278 -msgid "View the Full Changelog" -msgstr "" - -#: ReduxCore/inc/welcome.php:298 ReduxCore/inc/welcome.php:336 -#: ReduxCore/inc/welcome.php:474 +#: ReduxCore/inc/welcome/views/about.php:17 msgid "" -"Thank you for updating to the latest version! Redux Framework %s is ready " -"to make your " +"Redux Framework is the core of many products on the web. It is an option " +"framework which developers use to\n" +" enhance their products." msgstr "" -#: ReduxCore/inc/welcome.php:305 -msgid "Full Changelog" +#: ReduxCore/inc/welcome/views/about.php:22 +msgid "Learn More" msgstr "" -#: ReduxCore/inc/welcome.php:342 +#: ReduxCore/inc/welcome/views/about.php:28 +msgid "New in this Release" +msgstr "" + +#: ReduxCore/inc/welcome/views/changelog.php:2 +msgid "Redux Framework - Changelog" +msgstr "" + +#: ReduxCore/inc/welcome/views/changelog.php:5 +#: ReduxCore/inc/welcome/views/status_report.php:28 msgid "" -"Use the tips below to get started using Redux Framework. You'll be up and " -"running in no time!" +"Our core mantra at Redux is backwards compatibility. With hundreds of " +"thousands of instances worldwide, you can be assured that we will take care " +"of you and your clients." msgstr "" -#: ReduxCore/inc/welcome.php:345 -msgid "Creating Your First Panel" +#: ReduxCore/inc/welcome/views/credits.php:2 +msgid "Redux Framework - A Community Effort" msgstr "" -#: ReduxCore/inc/welcome.php:350 -msgid "%s → Add New" -msgstr "" - -#: ReduxCore/inc/welcome.php:352 +#: ReduxCore/inc/welcome/views/credits.php:5 msgid "" -"The %s menu is your access point for all aspects of your Easy Digital " -"Downloads product creation and setup. To create your first product, simply " -"click Add New and then fill out the product details." +"We recognize we are nothing without our community. We would like to thank " +"all of those who help Redux to be what it is. Thank you for your " +"involvement." msgstr "" -#: ReduxCore/inc/welcome.php:354 -msgid "Product Price" -msgstr "" - -#: ReduxCore/inc/welcome.php:356 +#: ReduxCore/inc/welcome/views/credits.php:14 msgid "" -"Products can have simple prices or variable prices if you wish to have more " -"than one price point for a product. For a single price, simply enter the " -"price. For multiple price points, click Enable variable pricing " -"and enter the options." +"Redux is created by a community of developers world wide. Want to have your " +"name listed too? Contribute to Redux." msgstr "" -#: ReduxCore/inc/welcome.php:358 -msgid "Download Files" +#: ReduxCore/inc/welcome/views/extensions.php:76 +msgid "Redux Framework - Extensions" msgstr "" -#: ReduxCore/inc/welcome.php:360 +#: ReduxCore/inc/welcome/views/extensions.php:79 msgid "" -"Uploading the downloadable files is simple. Click Upload File in " -"the Download Files section and choose your download file. To add more than " -"one file, simply click the Add New button." +"Supercharge your Redux experience. Our extensions provide you with features " +"that will take your products to the next level." msgstr "" -#: ReduxCore/inc/welcome.php:366 -msgid "Display a Product Grid" -msgstr "" - -#: ReduxCore/inc/welcome.php:373 -msgid "Flexible Product Grids" -msgstr "" - -#: ReduxCore/inc/welcome.php:375 +#: ReduxCore/inc/welcome/views/extensions.php:88 msgid "" -"The [downloads] shortcode will display a product grid that works with any " -"theme, no matter the size. It is even responsive!" +"While some are built specificially for developers, extensions such as " +"Custom Fonts are sure to make any user happy." msgstr "" -#: ReduxCore/inc/welcome.php:377 -msgid "Change the Number of Columns" +#: ReduxCore/inc/welcome/views/status_report.php:25 +msgid "Redux Framework - System Status" msgstr "" -#: ReduxCore/inc/welcome.php:379 +#: ReduxCore/inc/welcome/views/status_report.php:38 msgid "" -"You can easily change the number of columns by adding the columns=\"x\" " -"parameter:" +"Please copy and paste this information in your ticket when contacting " +"support:" msgstr "" -#: ReduxCore/inc/welcome.php:385 -msgid "Additional Display Options" +#: ReduxCore/inc/welcome/views/status_report.php:41 +msgid "Get System Report" msgstr "" -#: ReduxCore/inc/welcome.php:387 +#: ReduxCore/inc/welcome/views/status_report.php:44 +msgid "Understanding the Status Report" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:51 +msgid "Copied!" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:51 +msgid "Copy for Support" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:60 +msgid "WordPress Environment" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:65 +msgid "Home URL" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:66 +msgid "The URL of your site's homepage." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:70 +msgid "Site URL" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:71 +msgid "The root URL of your site." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:75 +msgid "Redux Version" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:76 +msgid "The version of Redux Framework installed on your site." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:80 +msgid "Redux Data Directory Writable" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:83 msgid "" -"The product grids can be customized in any way you wish and there is extensive documentation to assist you." +"Redux and its extensions write data to the uploads directory. " +"This directory must be writable." msgstr "" -#: ReduxCore/inc/welcome.php:392 -msgid "Purchase Buttons Anywhere" +#: ReduxCore/inc/welcome/views/status_report.php:88 +msgid "To allow data saving, make %s writable." msgstr "" -#: ReduxCore/inc/welcome.php:397 -msgid "The [purchase_link] Shortcode" +#: ReduxCore/inc/welcome/views/status_report.php:93 +msgid "WP Content URL" msgstr "" -#: ReduxCore/inc/welcome.php:399 +#: ReduxCore/inc/welcome/views/status_report.php:96 +msgid "The location of Wordpress's content URL." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:102 +msgid "WP Version" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:103 +msgid "The version of WordPress installed on your site." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:107 +msgid "WP Multisite" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:108 +msgid "Whether or not you have WordPress Multisite enabled." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:116 +msgid "Permalink Structure" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:117 msgid "" -"With easily accessible shortcodes to display purchase buttons, you can add " -"a Buy Now or Add to Cart button for any product anywhere on your site in " -"seconds." +"The current permalink structure as defined in Wordpress " +"Settings->Permalinks." msgstr "" -#: ReduxCore/inc/welcome.php:401 -msgid "Buy Now Buttons" +#: ReduxCore/inc/welcome/views/status_report.php:122 +msgid "Front Page Display" msgstr "" -#: ReduxCore/inc/welcome.php:403 +#: ReduxCore/inc/welcome/views/status_report.php:123 +msgid "The current Reading mode of Wordpress." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:131 +msgid "Front Page" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:132 +msgid "The currently selected page which acts as the site's Front Page." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:136 +msgid "Posts Page" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:137 +msgid "The currently selected page in where blog posts are displayed." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:144 +msgid "WP Memory Limit" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:145 +msgid "The maximum amount of memory (RAM) that your site can use at one time." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:150 msgid "" -"Purchase buttons can behave as either Add to Cart or Buy Now buttons. With " -"Buy Now buttons customers are taken straight to PayPal, giving them the " -"most frictionless purchasing experience possible." +"%s - We recommend setting memory to at least 40MB. See: Increasing memory allocated to PHP" msgstr "" -#: ReduxCore/inc/welcome.php:409 -msgid "Need Help?" +#: ReduxCore/inc/welcome/views/status_report.php:157 +msgid "Database Table Prefix" msgstr "" -#: ReduxCore/inc/welcome.php:413 -msgid "Phenomenal Support" +#: ReduxCore/inc/welcome/views/status_report.php:159 +msgid "The prefix structure of the current Wordpress database." msgstr "" -#: ReduxCore/inc/welcome.php:417 -msgid "Need Even Faster Support?" +#: ReduxCore/inc/welcome/views/status_report.php:163 +msgid "WP Debug Mode" msgstr "" -#: ReduxCore/inc/welcome.php:425 -msgid "Stay Up to Date" +#: ReduxCore/inc/welcome/views/status_report.php:164 +msgid "Displays whether or not WordPress is in Debug Mode." msgstr "" -#: ReduxCore/inc/welcome.php:429 -msgid "Get Notified of Extension Releases" +#: ReduxCore/inc/welcome/views/status_report.php:172 +msgid "Language" msgstr "" -#: ReduxCore/inc/welcome.php:433 -msgid "Get Alerted About New Tutorials" +#: ReduxCore/inc/welcome/views/status_report.php:173 +msgid "The current language used by WordPress. Default = English" msgstr "" -#: ReduxCore/inc/welcome.php:441 -msgid "Extensions for Everything" +#: ReduxCore/inc/welcome/views/status_report.php:181 +msgid "Browser" msgstr "" -#: ReduxCore/inc/welcome.php:445 -msgid "Over 250 Extensions" +#: ReduxCore/inc/welcome/views/status_report.php:186 +msgid "Browser Info" msgstr "" -#: ReduxCore/inc/welcome.php:447 +#: ReduxCore/inc/welcome/views/status_report.php:187 +msgid "Information about web browser current in use." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:202 +msgid "Server Environment" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:207 +msgid "Server Info" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:208 +msgid "Information about the web server that is currently hosting your site." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:212 +msgid "Localhost Environment" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:213 +msgid "Is the server running in a localhost environment." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:223 +msgid "PHP Version" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:224 +msgid "The version of PHP installed on your hosting server." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:228 +msgid "ABSPATH" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:229 +msgid "The ABSPATH variable on the server." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:235 +msgid "PHP Memory Limit" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:236 +#: ReduxCore/inc/welcome/views/status_report.php:241 +msgid "The largest filesize that can be contained in one post." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:240 +msgid "PHP Post Max Size" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:245 +msgid "PHP Time Limit" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:246 msgid "" -"Add-on plugins are available that greatly extend the default functionality " -"of Easy Digital Downloads. There are extensions for payment processors, " -"such as Stripe and PayPal, extensions for newsletter integrations, and " -"many, many more." +"The amount of time (in seconds) that your site will spend on a single " +"operation before timing out (to avoid server lockups)" msgstr "" -#: ReduxCore/inc/welcome.php:449 -msgid "Visit the Extension Store" +#: ReduxCore/inc/welcome/views/status_report.php:250 +msgid "PHP Max Input Vars" msgstr "" -#: ReduxCore/inc/welcome.php:480 +#: ReduxCore/inc/welcome/views/status_report.php:251 msgid "" -"Redux Framework is created by a worldwide team of developers who " +"The maximum number of variables your server can use for a single function " +"to avoid overloads." msgstr "" -#: ReduxCore/inc/welcome.php:500 -msgid "No valid changlog was found." +#: ReduxCore/inc/welcome/views/status_report.php:255 +msgid "PHP Display Errors" msgstr "" -#: ReduxCore/inc/welcome.php:539 +#: ReduxCore/inc/welcome/views/status_report.php:256 +msgid "Determines if PHP will display errors within the browser." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:267 +msgid "SUHOSIN Installed" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:268 +msgid "" +"Suhosin is an advanced protection system for PHP installations. It was " +"designed to protect your servers on the one hand against a number of well " +"known problems in PHP applications and on the other hand against potential " +"unknown vulnerabilities within these applications or the PHP core itself. " +"If enabled on your server, Suhosin may need to be configured to increase " +"its data submission limits." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:277 +msgid "MySQL Version" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:278 +msgid "The version of MySQL installed on your hosting server." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:282 +msgid "Max Upload Size" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:283 +msgid "The largest filesize that can be uploaded to your WordPress installation." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:287 +msgid "Default Timezone is UTC" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:290 +msgid "The default timezone for your server." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:293 +msgid "Default timezone is %s - it should be UTC" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:304 +msgid "Used when communicating with remote services with PHP." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:310 +msgid "" +"Your server does not have fsockopen or cURL enabled - cURL is used to " +"communicate with other servers. Please contact your hosting provider." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:349 +msgid "Remote Post" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:350 +msgid "Used to send data to remote servers." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:355 +msgid "" +"wp_remote_post() failed. Many advanced features may not function. Contact " +"your hosting provider." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:358 +#: ReduxCore/inc/welcome/views/status_report.php:373 +msgid "Error: %s" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:365 +msgid "Remote Get" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:366 +msgid "Used to grab information from remote servers for updates updates." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:371 +msgid "" +"wp_remote_get() failed. This is needed to get information from remote " +"servers. Contact your hosting provider." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:405 +msgid "Active Plugins" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:421 +msgid "Visit plugin homepage" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:445 +msgid "Redux Instance: " +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:452 +msgid "The opt_name argument for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:460 +msgid "The global_variable argument for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:468 +msgid "Indicates if developer mode is enabled for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:473 +msgid "Indicates if ajax based saving is enabled for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:478 +msgid "" +"The page slug denotes the string used for the options panel page for this " +"instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:483 +msgid "" +"The page permissions variable sets the permission level required to access " +"the options panel for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:488 +msgid "" +"This variable set whether or not the menu is displayed as an admin menu " +"item for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:493 +msgid "" +"The page parent variable sets where the options menu will be placed on the " +"WordPress admin sidebar for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:499 +msgid "Indicates if the compiler flag is enabled for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:504 +msgid "" +"Indicates if output flag for globally shutting off all CSS output is " +"enabled for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:509 +msgid "" +"The output_tag variable sets whether or not dynamic CSS will be generated " +"for the customizer and Google fonts for this instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:518 +msgid "" +"The specified template path containing custom template files for this " +"instance of Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:523 +msgid "List of template files overriding the default Redux template files." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:546 +msgid "Indicates the installed Redux extensions and their version numbers." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:577 +msgid "Theme" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:582 +msgid "Name" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:583 +msgid "The name of the current active theme." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:587 +msgid "Version" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:588 +msgid "The installed version of the current active theme." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:593 +msgid "is available" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:598 +msgid "Author URL" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:599 +msgid "The theme developers URL." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:603 +msgid "Child Theme" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:604 +msgid "Displays whether or not the current theme is a child theme." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:606 +msgid "" +"If you're modifying Redux Framework or a parent theme you didn't build " +"personally, we recommend using a child theme. See: How to create a child theme" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:614 +msgid "Parent Theme Name" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:616 +msgid "The name of the parent theme." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:620 +msgid "Parent Theme Version" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:623 +msgid "The installed version of the parent theme." +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:627 +msgid "Parent Theme Author URL" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:630 +msgid "The parent theme developers URL." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:2 +msgid "Redux Framework - Support" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:5 +msgid "" +"We are an open source project used by developers to make powerful control " +"panels." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:20 +msgid "Generate a Support URL" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:21 +msgid "Select Support Type" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:22 +#: ReduxCore/inc/welcome/views/support.php:65 +msgid "How to Get Support" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:27 +msgid "Submit a Support Request" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:30 +msgid "To get started, we will need to generate a support hash." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:33 +msgid "" +"This will provide to your developer all the information they may need to " +"remedy your issue. This action WILL send information securely to a remote " +"server. To see the type of information sent, please look at the Status tab." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:37 +msgid "" +"Generate\n" +" a Support URL" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:44 +msgid "Select Your Support Type" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:47 +msgid "What type of user are you?" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:52 +msgid "User" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:53 +msgid "I am a user, using a pre-built product." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:56 +msgid "Developer" +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:57 +msgid "I am a developer, building a product using Redux." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:68 +msgid "" +"Please proceed to the Redux Framework issue tracker and supply us with your " +"support URL below. Please also provide any information that will help us to " +"reproduce your issue." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:74 +msgid "" +"Listed below are the Wordpress plugins and/or theme installed on your site " +"that utilize Redux Framework. We do not directly support products created " +"with our framework. It is the responsibility of the plugin or theme " +"developer to support their work. You will need to contact the author(s) of " +"the products listed below with your support questions." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:77 +msgid "" +"Please be sure to include for your developer - via cut and paste - the " +"Support URL in the box below." +msgstr "" + +#: ReduxCore/inc/welcome/views/support.php:215 +msgid "" +"Should the developer not be responsive, read the following article before asking for support from us " +"directly." +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:170 +msgid "Support hash could not be generated. Please try again later." +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:190 +msgid "Welcome to Redux Framework" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:198 +msgid "Redux Framework Changelog" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:206 class.redux-plugin.php:411 +msgid "Get Support" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:223 +msgid "The people that develop Redux Framework" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:231 +msgid "Redux Framework Status" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:336 +msgid "What's New" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:340 +msgid "Extensions" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:344 +msgid "Changelog" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:348 +msgid "Credits" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:352 +msgid "Support" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:356 +msgid "Status" +msgstr "" + +#: ReduxCore/inc/welcome/welcome.php:513 msgid "View %s" msgstr "" -#: class.redux-plugin.php:306 +#: ReduxCore/templates/panel/footer.tpl.php:47 +#: ReduxCore/templates/panel/header_stickybar.tpl.php:20 +msgid "Save Changes" +msgstr "" + +#: ReduxCore/templates/panel/footer.tpl.php:50 +#: ReduxCore/templates/panel/header_stickybar.tpl.php:22 +msgid "Reset Section" +msgstr "" + +#: ReduxCore/templates/panel/footer.tpl.php:51 +#: ReduxCore/templates/panel/header_stickybar.tpl.php:23 +msgid "Reset All" +msgstr "" + +#: ReduxCore/templates/panel/footer.tpl.php:56 +#: ReduxCore/templates/panel/header_stickybar.tpl.php:26 +msgid "Working..." +msgstr "" + +#: ReduxCore/templates/panel/header.tpl.php:18 +msgid "Developer Mode Enabled" +msgstr "" + +#: ReduxCore/templates/panel/header_stickybar.tpl.php:16 +msgid "Expand" +msgstr "" + +#: class.redux-plugin.php:307 msgid "Redux Framework has an embedded demo." msgstr "" -#: class.redux-plugin.php:306 +#: class.redux-plugin.php:307 msgid "Click here to activate the sample config file." msgstr "" -#: class.redux-plugin.php:407 -msgid "Repo" -msgstr "" - #: class.redux-plugin.php:408 -msgid "Generator" +msgid "Docs" msgstr "" #: class.redux-plugin.php:409 -msgid "Issues" +msgid "Repo" msgstr "" #: class.redux-plugin.php:410 -msgid "Documentation" +msgid "Builder" msgstr "" -#: class.redux-plugin.php:415 +#: class.redux-plugin.php:416 msgid "Deactivate Demo Mode" msgstr "" -#: class.redux-plugin.php:417 +#: class.redux-plugin.php:418 msgid "Activate Demo Mode" msgstr "" @@ -1054,4 +1548,9 @@ msgstr "" #. Author URI of the plugin/theme msgid "http://reduxframework.com" +msgstr "" + +#: ReduxCore/inc/welcome/views/status_report.php:427 +msgctxt "by author" +msgid "by %s" msgstr "" \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/ro_RO.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/ro_RO.mo index c4b9556c2fccd6cc74ddff328e86c55354727802..070cab6e8b14bfb04b6da3d706da8c78aecde90a 100644 GIT binary patch delta 4805 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 literal 23556 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 Vs6~w7W5obhL9V_fXig*E{{{24B*Fjy diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/ru_RU.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/ru_RU.mo index 5a645e0939a86c2fae3871f53be3e0f4ab9e911e..19e9d1f2d90348f9949ba214000710038b9c24d0 100644 GIT binary patch literal 48364 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 Y{Ak&>WfQ+-!=$lG#-E$N{x=E#-$yiWZvX%Q literal 18953 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 delta 1737 zcmYM!OGs2v9LMqFYjiAMs|=E`7PZJ0rPHP)a#2`d z;KGQ=pdgx{oe^X&YN0_dA!re1RAePlN%Z~AT<9?W`#JY`?|J;sxxT5tSs!@oh`wMb z?L;my7-`G_T!`jE8M7I)46h+S^OVa+e2&>T9&3yPUt<)0!ZiGfsc4HcCIz!m@4GPx zE0FO5rjd%BhCLXAJ*cq{A$^!5mVKxWPU0dQwAzO)M=_oDF-*X_$j?0El87&?_V=iM zzGD{So8MIQqLW#u;}X;hRhWlOs0?(YW_}vg!9~ka)P%2M7GB4Ae1OX6Bq}pskmQ)=tm74yEvSwMC50jTr`0KtGy64QMYwphgz5) zC$Jq0(aB(eV^nIX9LGDTE%35@&DdwzfNJ-nCeVV9a2t|5lgVhz)fAw%%#9i7MJ=Gs z`g=F3pTjtUN0Z2Z2Nh>BlfZp=ijgm&QeNZ?573I^-0#HYn92!L$5p5SwhQC5KaW~r1P4Sjk4HV1jB3wC?Xe5B zb$(QT9jH^^X?YO!d_U&n04~L`02QU~Au^Vk!eab@UUV>B{k<7Au^p%tby{}eO78cg zR(uv+co{X|W6LR22BuL9nMX}9@P~?Ko{(wG70f|Bcn@cB8nxmH8a41FvhC&-YNa!% z4(Cu?@Duf19RD0xgGs{MScs)KjlF2kF{V%7{|PF3;VYG9z&JOMXqFDp?gZNwG0*J>X?y?-9h;0SKTA|9^M_uoq;f(8|(M5Uh4x2hFxAyk?P z-VK#%uK5JX3$03rPGvK(i73_$Wh0@3tfK6wYzPy+>iaJw+6WS0)(|Q>3#$m7fz^ao zrm{YC<$nX#68ajn+8RPxC?{G8m6kA}bJ0Y7Eupi**B2^zT(Rf>ppgtoGPP~j^!b)nk-iz|4; zHWV3bv;T@s_Li2_l$Lw*JypJnYM;k5v@0bq-c#zS%=c9Iyye0El)i|F>fnN7CMr0W HJ{$WF0RoTX diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/sl_SI.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/sl_SI.mo index d6bd4ed7d37d6b4fe715e75b1446032070d0f51a..41358aae480e6f56492a0c6312a7bbb8720c1ead 100644 GIT binary patch delta 1702 zcmYk-Sx8h-9LMo9rlXC!mStvIW|lQJ&SE;{lI04S6^0T$XhoP7?HCe65CjR4h!5dg zf#5^5Oca4cP++}Cr1YjikPrn?Mzl!u{Y__}!~NgSJ$E_hfByH54i-Ew2+d~14jWoC zv6ASGG3E%4$FiffI*rM|J;-JbvrE7pT!d#a1^dvCS8yqgVNq9 z#)M2N2PK@y#yD(5&E0}*W*@sHc)<2gq6X;0L=4&U1J)r-=KKgM(J|Y!|Fds zrv98WFIk2LoI)isi(0`uti`XkAE0hJUxyl?4b$)#>bZW~4`DU^>!`$Dp%Q&#oke}5 zb1Bqc87^=_#xZ)NWT=EPQ7d1CcKJVL(~J$Q19>sD#2;gL~l{|&!L{5NB!)6BAZF1Osg>m)vrV) z9@@o$2HbBibfF$RjT-1OvYD&wRPqtjgLhF0Jw}!C39^}Kc1q|yYNelS|1;_peMgP^ z3t2ezXEu&a0;+V`s0oTtmGR&PEXN(#Wv`E-61sy9Tt_qzImG{M4V^4PAEp|&M-o;w zmTP{sQeqpSlGYGg2(3;Ns8#*Llwl*WmMA3j7fyd2n~9x-67�qKPOX@(498BHFaz z_3CK;TB4Y!Ak->}?U5rsFjU#f3B6xGp(?5I&6;|`O%xC%M6{`bb+)q+R}jl=U%xoL z8ol-odoEIH9qZlc1JVD2RYZV@woM#VM?2^x^e*#>%|td4ZMk8$bJ*dm?>ye!dm%g? ze=jC2;P!ak9$&uK8}#~vUhmLFSDwq~F7@P>27*3+c+_>n;iw4LB>j$wYwbSMc|Kf` H+8*;4vF(DQ delta 1657 zcmYk7TS$~a6vvO|C0AX|%JP=xs%g3Er<>QxN-ZU#qMOh|1x7*7Ea*Y1wbRUno8TO{1Nvb%48enNA-oFb!w8%QM_~q>gjAcR zNihrCSBxqKW?&*LPd3xuRgh|RGz(yh>u-f}&<#`JUN?Tou@9y*ejF;$bFP08YTb3m zVd!UnyMy85!6PV#FQ5W>1r_mIsD+>0_&3-8>7M_A%7CBU6nFttW{M%nv@*yPtALv4 zL8`5#No9ZQ!q7%LVJSS|`u$KFUx9Kw1WB0R_Lt z4m#t;6O?~N>cbHIj#*HSv!MdWhpe#xl!HpB6E#51YlSVa19reuQ1i#2UfnnxVuKH^ zf0pPm?OHndm&0KO6hH*(1oz;2IO_T-s!$2%$PytOro%}l_2AgsHWTH^2{ZQ-j97~|)1>N%&NVQHH-GOc> z|9hYU+UM9C#!#e3p&TD`JPozrJk+}zfC_97DzFi#`BA9#PhjjbgH)TOSqi6J-$%L> za4wX;0Mxv2HHH?pLOI$7skWO&sqTeZcoHh0Gf*k)hg2J+Q9u!>liqjzhfuHPDU{za zsFS~hRC`TB#=`ayLmT{nn(!M|z(k^IgVj*a`=A0k0ps9o31KWoE09h$TjZk=DJTVA zgjANJf|zBtLEnEn9YtE@2DO>WI#h{tvvZIx7JJ8j)#~69q!L8sF^dZcb5RLegbI;f zgGwz@CT7cOj5hXF8%VfSTNc2IwK( z6TLDOeRj)Y7C%6+X`}0q^?#)XORqvD8|5LTz8V!H{ZCkQbJ9Ru^h@&X_{>nSrYTq( sD)Jhd>l&Lq@6t_Qq0b9?^+jG?bEq~t;kz6c*BCvV_A5SmBx6_nU&9T4NdN!< diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/sv_SE.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/sv_SE.mo index d2c280784c311d6ae0a0926093b9af4a63b95353..9ce07b9f3b1cedc5e664b69b59316e54baf5e5a1 100644 GIT binary patch delta 3802 zcmZA4eQ;FO8OQOndE+Gsi3y2B1y+-gHv=081VTkY5(&f*BnfXqv%zbKSvG5S6Nq3J zDsMKR;0@F;l`=K<1*ucI4z^ZtrnIz7=`gKUXIjQOn17_UcG^*^meTKU_r#g@4A1@C zbN1eQ&Uwzc7dX^;{o&}lIVndCWtg~)7)>$eO*}n;1La>C#^m5H|FBwwtmF^{yb_xF=R~U z0%|~S;yC;xYV22$KFo(W6FEAfEA!OaDA80>-nxTst`AMWt^Ihv% zR7V$3DgP~A!co-qXGo)b1=r*2*osp~pY97{R1fUqL?hgbst@5t9Kp4i#5%Ao%m&nT z?Wh^_;B4Gse}4%z@EG2X=TJ-e9%^s=1C#I*R0coGCI5P$XL5Wqm~7OhszP;8i%iDU zqXxDHi?P$z51}6P9BM`{payyxwPa^dOY$>RCN82fdKquQE0f8;2Jk5jOxC2akm{%a z@5C}J#WvJ~qp0impgMF>4?d3S@FZ$Lr>s9lP2^QnW-g%a{~gZ6_w+zLAd3Z@gLznj z4d}&3aR8q|U6*llB9%GTd{hUw*!m3Ab>*mm`%nX2hnhe;D#H$HpwS>F8d<+>*o}}rPG1IZEAaQ>Ks^b<^ir3rrPFzU67j@rDScf0u3cddeS%?lA z_G2SnLuI1oR%0r$8)xA#`tc&RV+CI$&Ez1mdgiG06l&?-KyAJck>r{G;3Mq9ys0cN z^<7>q0qcL96OH^LYHcnfeVBJqDf=9?BscI5EMaTki_7soe9HPZ^2bc$BJH7jP@AtA zHIPlHfrPC4F^~Su2~L#Cmr-l-7HZ9|pw{+%)Pp{^CdRL1j*$-icHTXAAd%27WoMgExO9L9M_8EPQgXCyXP6t_@6i0$|> zYG7@QTB&bG4KRd!Ys_Bk$6ld%?c-6GU;8jw{o>u>_@M15cOp)xd#T8i&SIbrbTWz>y-LXG$@n1(lSJf@W= zI?h79o?g`N^KAQFs9oP=f8T)`@DbFWID>ktE+a`W$rbkfui!+xa}Mf(b*Py)Vmhuu zt>H!-he6c!{ivlofSS=Util&i_rHT*!7H}CfYHsOz5-9<4oubiUs{>CVWxEsrgOo3 zRBD%^I$nm_)y+5ocjH7H#7sPfx^Bd_pSJZ^kXPTlVe410oBAkT)BE2%)0mYsEM#~} z*&t@%i^vGgPi*}hs>9!4BfgEbSjedE!cDjezl9Ir->?Z6lNP1^FzRp1U*KH)6g%kO zRMOg^3s7tQPvk3W{*Boc zImbU%(Hh&h0=4rG6Gv>@qgL?%!QL^;RiP*oEN#4emE#h7eh8Hnm4!qhp;u8$#(3jJ z*&0rqM$INpzCnDA*iGC`@O}8Qe4R5b!&teA6Fvv=66C1YY^*3d>?^Z?c+xg*L}hoZ z?Bc{rtRb}j;{O`eS4m|$p>O|#s!){v|1U{2Od=k#KkTt~S+!}85!yo!6PpQ^I$jQN zj>?OOk#-8>vj)uKQTb~2))ve z6I+N*Vj8iYP#Gkm`#6-SMtLGZd=u((sljOnKSkV2q!Z1Aigxg__*vqx3bqrE5$!~T zPEe(3&6e=riL$~{fjJDXK%%?r$mh|>)3p>5;rAaH@@~k!E zoqi|K6QUuSHRP6OSLD}ik2t|_S5Gi(>U)9_Z@qtOS75+x$zB@!PWGtBJ&{x3{yOKZ zyEnHb*}v6^y_5UCr^p}a3!BxEfq-LH_jQCf_jYw8&YTGCeW6fKZ^XTvw>H_~j-vc# zPpxTX6hR(f+MHf>H>S5ZY}&e`ciwG`Iu!6nV%I94PyH_o^2fda delta 3802 zcmYk;e{ht=9mny#Kz;!sA%R2$%s~+e}gUeldcNn77 zLy1BWDewr_8f}RI#p)GsYUJRs1$YDsAVRV_8;rCGidw%+%2O!eDAgU z+;jWves}jF-)(-ZH~xA4#3P0>Ow1-eoM_AkxIdc@$|qBd$;b1k@4vNa9JjuNdcYr0sXvQU7Mx|({L7QNv=V4 zG#|aV1eMZuRL7f81KNff_)aXt{kHuZR6lQ`2KYzR0RN22;78NRzt-ljTu^HMiAwc1 zcr|)hPz_)b^C$-HA-rbmKzY zh055=sD58V?U6Td7oNkoHbHA?>c$S#jJr`C??e6I2~-Cos19F1?dn%hOYu5t6Mul} zZwz%TFWKwgqcV_FmP&mo>i3mpVeOrzCVpxx^t)rT)Nr1&C-5|;k-sOx{L7HYeKs@^rJRoHzl^c1J@Fo%mLz8 zM2v_KdVaFB^GU{%Gtvbug*J*x57C^gv5u(qRZ&(r+Q|*5%xTst%ZTA*EtP@2)PF(f zVYd*R<|`#`c2U)aPZMPi5wz8^b#y>vaH~Jb5Mc=If_k zP8=n)v{y=&QnK8(T&yQ{+xFeaX-OWh!*~ABY9QAz#qj*6-(=XkvBFA&)yYwKXT) zKWJ9);aw95ZF3jocDRRf4;MCtd$#vEp_orUGfm-vP%!NCyYup{bDg{unIR|Qi-jYJ z(Y%WucV~W9mUnHx?u@!a`Ezso`ooc!cXK4%=iM9#I_|IYPi3r*Mz=drx3i!v@k+tp zJTnG^j#V-E{FRJs_Uf;O5p|Q5seQ{3lq}uA*dT;IG#=1p`kLLJ1o`yt2@tdBR9kG}b2?lz7 z5r?@aCm#ufXeR#a9rw8Zn%6m_CEOoiKE~<|o*5w%x0b}*vn9Wu*%aRPqfE3q{-DqA z57C9YyR_DQtF%44*}0OAS!L~Mg`sHd%t$b(TYM4k>SQu%9CvGZO+l)`vq;XF(U7v^ zK2d%-_x4D*JLvS)=xT2`;<^?7#N~>XG`F>Ct~*fGmH4#klxG4tai6cAl^Cl&mi~Xx CE6?=+ diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/th.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/th.mo index 213849cba7e167627b459f96b881b56981149691..5fb244a50543af6dcecbbe08f05ad3b127fe0504 100644 GIT binary patch delta 2622 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 R3)axonWMDadDG5~`WMmfLYM#m diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/tr_TR.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/tr_TR.mo index 593080855af5d71124aa18bd4f22de5f0ff7c59b..38cb00099c7b08efd0c3e86c8b5717e8b5b9530d 100644 GIT binary patch delta 5053 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 literal 21251 zcmb`O3zQsJdFL+=^N_({FmEtdvSrCw(<8|O#8|S?Xe7&ejx{3-8*I6zyJn``-BnFh zwMIR>@^B1nfF#Q+F-p!#T^z?j~oGJtsi+unFw% zfA6jCo{>x(4t;dzU$^SkeSG(O*VTV}#^c{@_&rQ{A?3SIFlPN@jQP@2b=R1?pJB{8 zFar5!?&Xi#y%(gZ`9#1^gHNLV8Sv@g7s2O)-vaq({*gbA1J^v$m}i5RftP{n!Iy&D zzzOgka2xnB(1PCqp9NlWg)vV9UjSYXUI+5X>XeIT!xN$^TA4)^Z`HSXKM zOTl-7TK8$N1)c@<{#D!*UI*&=_59(H*$--7cY~s93W{C};r@M~`hQoz_l4)b4r+d9 zK=u1YkbmaS`J?sx4XF8i57c@d^Bhm7O9MU^ zH-X2%H-mcbFG2PH9gwcgcR|hPDKMeq8&G_C9e5|W1AG;DKdATr0n|SK0MvUw0=4eT zUf}Whp!VY$a4WbCWC$|{icUWZs-L%o`a8k3)E@xFuYU-N@4f;`4*ni|Ecg$g_UZee z#{D5^!Kcz#{9OaJ|Kp(e`T(eT-35Laya&|0p8g^~pDV#->f1rB_n$$n|1y|U^Su&W zujk-#@Gel#&xZPELCxn%Hc#uh1{7UJK<(>RP~+_YwIBOI@xder$;_Rg)^Q5deBTVJ z|NFsB;77rY;MYO*tHr9HOF;E=X~5@#>SsNu_qTy+HvwuM`$5ff8WcTV18N`U0~Vm( zdn2fR-T~ePegJHM{{)@~BR1(8a05*GI`A-fFZd9+0X%Y*F|P*~z#8~n@Otp7tNrui zpr!sMum^q+)I6WR-tV&wcr~bbZVdHp;47$a2QLA0P;@y3itZl*KM#Hcyc2valN2BP z38-~`1JwHeJ1BntTTuJ^I3}(8F9IbW>%s4UuLJjjcQc6g=|K?IFrNY03iEAH{hDk2 zd@cpwPxW$8`|{hMo_`vg1V0Pj06ym>zTYWu5B2-O1K_v88F15e#vBBH2^8JF1&)AE zhZ#n}8^H)n!Mnjf1)l_Np^?@#23`st1$F-}Q2KT*;OoKt)PDuk`o9Izh53HKtJpNj z-y|r#G6TNqaqJbyR++DCF$NW5{t<+P=IIFcCE&|J(QzlJ@%Mll_f`0pyqeUHZQNw0mZi)LEYaT>ia>> z{|-=c{aTP^n4bf+pZ9^<#}9#8&mV!8f!_p0pZ^7FUE5yj(U zmZAO@5Y{li0g4V^0yXY8z%}5vK<(520N(`u2-LW5dYK>Z9UvlR-UVI(o&~j!Uj#+B zuYy|V!=Tpvzd_CCpTQ@CYhLd4<`tmUwFT7s`$K&S)O#&Zba{Qiw}a22{s5@;oCUQ% z4}og`e?YZ2+x_^LgQ{NzJ_p;=0-VpE? zK*`P9L5=@AAfjYG7oL9~)V}@@6u(?@qwnW(aFqIb@cG~|Q0+RP`dI))|F?mE4SoO= zAKiPC*RSsczfAoTp!ntIU+LHLZczOBVemTe%b@7^15k1p@ACTl6sZ0D9;o&F5PUrN zgmFK=O9Q?b)cxy0?c;Xv8t@1x`ke${2;K*(|K9+`S7$-(&$mFy*;9A>ah?fkT`vf@ z2^9Tzf}+n9sPRsKnqLDH-?u@ne*s(z-WTd00k!^5g4&-ifDQ03!IR+lgfUCtr@(dK z8}^`czz>4=f-l+Y>Gd)2J=DJu>eiz~qAQNJ791TKQtgAanw03QY=KYs^8 z4)Y%?y$@cYjc^@o~q^0*7s?^4RoQ8c&TqUiUV9^Bt|@>l$& zpVqVNu8@O(TR>Ehi|HESUNhi>pm>pF~J41mb%m*pjw+)oPplFTyZKY`6 zUrG5aW%xG}Ds}KyiuUn$C?BVMlJcjN$5J|!&rlX9FQ8~&_4^`4dvYh`KT$5HypD1Y zWj*Dal-nti`>>`p~s5f0-iQzMnEdxrXuyihf_F{1?iLRN?nD%5KWLRpED^2lMa14^ciG>OTwq zLAVy&P5Fv0_`QenUnw7@B$VqYH&Py^Jei`OWbYx$6Dhw(`E5#%qTdP19OVtF@H^_k z{ry$`Mil9$w!34@zX|xcfP!aIx}kn=!0iEF0zQ?JQeGeKeJtRPfHkm1*&FJ=0!lus z-)Ok_QotvGJ1JkKVA`Bd@htEglwYDejv{@g-#q0Us`E$x^DEle;{S4)6lz&SpDf(SPIYjwg$`>f_ zrM#8$`;^^~8dm>rRw&*Ryh>(&?RZd_m3Yw{@1Z?L->4SP6V*fAR2Xm-`hcD7*4JgPU7bk6L` zW82HRw&>>ZO;+vVvgCnXNO-@M6|rRow%+CawmliOx^Yok_12?$$tI~S=aa$~F(k^; zpQsaF>N1b0OzJjr-Plf?&t`c$Zj4!Niy3EOb9vTH8+KP&M)i4-d-(3|R?-=+AITGT zV))KvRycwV-#Z$2;%G%bQ^{iNT68;hZ^oAHjoL}8XU4O<5$Cojdo7-4CG$1o-JU%R z*~hz7*|Od9Q92hxkJujWwr6Ob&Dz~rtK05BY-Mw1cPozaJ_|7MdehFw>{yw(lmv|?M&(%EFr&L*w6#>;G;*_~xA(VeZ{oppNdk3E>AO|v^^LE7otvu=cALcjZc+vT8O<_+&%qOT6oy*IfW_R1~p?}r$wZC2UpQ9Sg-Y$B=Gq!m5<~WV>2&KbSX?LN-${3NH$-1SK zrJY8QnNh27&ktv1GMmtVo$OPEJ!S6-Xi683Rj0~G-Sq2)ucNHWdCviMZyvSdg)DEH zn=|dc>Taby7{?;Dsn})YLUI+t9GB zr0Gc-WjF3l}z2gZ~x<+0PRD1eG~C>U>RMQ!NXu=DI-7(yBbHQ?T@nz??< z`KWZHha|3dw_jn)HK?7z9ay+Xe=9eb%^OU>^;|Iy9Tx=#*&K{#Oa6#ZcB&KArS1=k z`d%w?oyInBy8H_p^h;q5Vc21Ab_Dy(mPWJcLv&cz@h-{h|CM|*LTeORC@HJ!d6rtxXJ2uMXZ?UPJ#RfU91UQS zxybQTlxAtKopG;QMEC%xF#NLu(TJ@#fzI4{Q{F{`dLtM%!!Zl}v|$PQgfn2;45KLj z4e4!ncwr`KB_&DW%A`%^Nj)}`-5e?+?7<1KyVBl*yote+8SkDrWj7N$LkziNlq;l? zZ^}@+(ZEtml}i)esoCSw!K>~DzcJ2HcFeDgns7~l^XbeFy-h~F$*8r-&LvKVXl0K1 z+8GO*W!_poR<*DlKYh_NK84el#PR|=@`|{Ey%7uwQb9-mmbx6S zJ05ew9XB>PQx|Mup|Q0LUY>ayhDP=oE9162qN!1pDENuY^ES}rR01i z_=*M>B5h!&tXvqDRT4=ZbGB&$4MAOQ`&4C!+?9N&sUE7XZEs0uGc&FIb=$<{DbX*P zOa0|UT+h7B`ucPprG?@XGmQpox)sXR>nczaFH49~wynsCGAc<>9{4ldFJ_#>u@{-ZBbr%vzGs)hF z-63YG0H{R>;O%)eNFy$B%n4qnq4$osedDWxN{LUjh==anG0Hs)v*l%7VY`~Wy7Kml zJLRPLCq6W8^dpCAfH@)u#>eQ({Y2)a5aon1r#4cYV%{QWqPf8e7UP<|r4%9Ys#1A% z9eH0T2~#xoY^LZ#Jkm&VsEN0XNMGZkJFiZQ(#Pm^n5QApaJ1fme#LjZ(J|=>a-zfnV=_rdQ;0NfyRZw8U`1*rXgV}NV>skef<@eqkxnoVbmS-5O=URY9-k4A z`ksj$Mah%Y8QtxK%MMH{13{pHx6LFK<1x>;-N9Uvl5xH;OF1bm9{FsChUmZ3mbb(k z?wQ;Y#Y>N(ow72aBkvx_q@*&0^6kV9ZIS1Kc(!Kkc#OV)5Xl@_ia9okfEe!S&dtg8 ziGBs=@_S!I*|ewBWL)Si%~^cZ_rp?9>2B= z*P&zr?+xe^d=0S#Zz@l4Y$g5IY0Pz2D!|8dQg{j@%(0FOm_0b{$I2@aQ(PXH8+v=w zSF=9pA#wF@xggt%D*P(SRqDit-}sK63&dUZ`Ai8cCl=K(ZV0Ddq(hYz5O?GI;vvf^ zU!_|#f<_NI#*gfMo|-vE=W0+UxPji8hltvbDlql_rZ?$**P*7A%LY^woW#ayrg=9_ z{q{;tlt~*UK<{~qeK)sxs~~^+Hnz2o8hTaK?Xw?x(D#Jwl!8UxR20}S$9Ek)e9PgR z*COkX*=6|@5H93Ab*VlQ4k#8_%{v((=hu(X5RbaJ%*hn`Lk`+nbDY$I7)Wa;Ns68F zB)G{|G;)k6edmVkGun`jn8_f2j>s|*R)7JAZ*YQ~!ER}PqDGrdM=>fwm9wiHlb^}z zn9^=^6BH%nrOO>VmhxJGeMaO&^XZ!pU0bux$q|PTbP)cyxkq(gbLuJYDONADMub0o zoIDbQ8S$j6d@wK2ZdKAJ()}`QxTyGSnuH9|J$ZTiqtt;=(j z%QH_Z$T7ze$qj`}p*fy3%6a}`flz9sB~gyD(=M0Pw`4Acs0>+U4Q=q~y*nmVEM_j!juOhIvsNzHheJ5mH+1|J>Ygy76iX2?gCuExHjI$eHHPHF=kecYvQSY|)v(RW{Iw{Vl2!oS$f zqw2+3An_T~M+js!_Dvr;D9XBNJKMI&39`FiMstNvsRolM=bu#Jiq4^FvTlLbT zddFuIl;V+5`jiw?-!%;=e40->i!N(_;_;&8%#^Tzc+|61OTs8?(-(@iJ#I$w> zMA9Hi)EM=KW?1mp2+zz;PwbtZgqfjs+l}VUYR$}-WoK-36qlrXYPL%8*5Ie=33|67 zq87C*pBoKPuWvunf5G75;Z>4+iR^52l2A=fhxeAGsic!!1g%btvNr;%G4Bf(aWt@e`FDBjM?kwe8?(ij=<&J`om*_hR`3f4trG~b=kdPbdE@B0d? zt7t0{erqO=OpokVP7BpFqQG^`Zr!|P+sNiujBMRzx4eAp`t4&|wp_P)^VsIiG#)vM zLnt*jX#3KU&09vcyv%O7er(%T8q)4yRFosmIm8BM`Iz04>!=ri+tsk zbCL;7_eS1I=ej7%5rxHLu!YE0jCNM< z(`YMnI$Gu@rjL$ZyXMd>hxQDJyQQ{y4Z%O(h?p>G#4&O%r%HA`O41vg@^Vk7y&~WZcNf&5zkyZFJ~%mNnZEQR0{# z+}uqXw9I>Bcq($$aNHCg44xl|d*brqAX;L~rpx)V-3piPZalc_FWucRQvZceA53(LFK+eu zNtQjbnS~EMK&0w1DJ8rumf$z&RdCL!vcYHFBpnIa)-l^-<&X5i{q{Ib?4D*TcAwm< zFYR5j5_?MAh*o_5beZVGQ!8;-I9qC+5-($B^zLvoS25%@)P^s*=TA2yf6d2t+Pmw~ ziKTOkF2%hH4GXs5hg$9GQf;3DkZ}cQakvTs~7Q zpJ_Mv3go-G$Pkaz`;Y6|P3vFP*Af4{ziDF z%J~OS?pfL$+~G_AJrHkj;{cD_Lk*_mCMPX7MITu>m_y< zj8r7%03QhQ*7BJqneCisW>>2;=O0MgjfA+OWN-0k#`)0cciK!Xoh!R3kKFca@0ZVz zP+dOl*_1Ej?lNieoG5vHF>2bX0?Rl3 z2T}1}Vvn@CkiU!Gbv-(f9BMcuC1xt&G|SS1Zr1H+ zAl5kXI!X|v-Z;a#fmH>0fQ(++Q8x)9&H9=Np(E})6u=r-@lj9;5EcRvS$3CCYu@^X z(!(=pcY6)$2;4-3JL9RlbaweP*^>cb-3KMgo$8nYE{`_FtWarKCs>N;n9Tb?FWHIZGv`l> z!R@Xl9Lq=VT$>)aL+Z~{0|t{qNt$L)Ax2xV05=OWkcFdhI+qO9gKP{MR5CP>o>plO zpr5qB;WycHIEcL&>g_;;e5I7-(@fhRSg_Mx+6F_g87t<1b0Ya1G$@+x6w1(@AhClc z5wmLcXLbGoK1oLDn3*Qm|A=zA-yd?o6rduoD+e$Q-9;#5_eD+Qf-dZ_9+VEWwP*l% zq3sy6L5gx;#Ni)4M<7zp^6)C3$UG|#rT;hZtr)xX$WQSfIq$IYWW()C=b8m9&NjOI zKq4MTf%c7Jr52bVDx__3SW=`5hRItAQJUu*8}Zz2I*J7)=d=i?-p?3 zXd-Tn2RCXMw_M+D6SS4KkwqZKWrTf~O3mmvYT71eM=^SZyeXc{pBjIF8qmxC_ zb7HqoIWfclo6{@E38IM0S@uhUjxqM$z0);A^t1)LOVSfYaE=C6;XGW+*OV}%J4=Dq zZcF*v#?ra-DEE|q`Z`BoL!e%9%{-HwL3cR$Y_bri=g41MT zpA~melSBJTj5T0CJVl*eAZ(&5b=iZ76S;AV+KJ3@!tfhG>-S)Pxlk4HSFCM=_{eK> zHhvdcQThc2^K9u%sb_bkuOK98_Q9CqJ%%5eWi_Tam1l&Mo(JRdQBB|w0anW~-c;5y z`=Wf-?jqFiTCZ=|pvg%@ly$e0oA^2_D`xvrj@TI4C{AUdfoxxeUvQ4YIZ_BJ(=4(y zr|E-k_1J}0TZ7hoKl|V>i4SM^N~qXQ>_MsUHi?O#Fnry%m(Ord`i~^#xMxH&-c?$h zoL|MsERT;INHo+$G|@OUb0}^=b7>k>h;vsl^?eN_2NN^q-66!aa)(y-ArFRW1`lD_ z;0<4s6~&Zc6Ds!g=QNnIB--mAIaAU`?6-Gs@CJ-dh-?shExmtH?gR=WD06vwvt-tf zv>;!E7#DcAfm-HZP#EJV;JAlgt!}Jz+MHh9H0+3orxEdB?A=#k&qUmx=~f{_Kcle$ zYeHlqg=4$DZo36}y$9o6vVro^!IPxjUus*bg!}=yerAYxmVD`BU)apWs2_B2JcMkv zvdb4(52tB@>8Qgdl9HMUuEO4=C-%f4mdZz$Dkd3t!m=vHQ=5uL=X^Y*BA@wSfOj#`k7U1nyi-ePncPG_TOoLu1B7Trbi zs6+EdV%SQeFpMKSoZ=Ge^a{GfD|&(|uf_v|h^*mGKcBO@{>Z+C@2dZzom)D~lrcp3 zrsSpYu_ZdueA20g9kj)?q&!8ii4f$3=#`6~KN&a#a;G_=gM_o2xJME3rF@{3^5Ca6 zaD0eP{H=cO%(1W7Sgar1>tF!Uxk<@sA0Nbl!A*tq&S!A*Tqz-aL*STnnD1F66rYkS z&n$^VTIdv=Z{c8zkF}9W%X1$mn*%j}c zQf!qBz$QAB$H{XdS4EsTn$s{zIS~V^(7)kQ2e^nNo7im5c2yp+*2kjTeaRw9 zj(E;jC*mgQ*rKP1J=|G3%Ld9tQrcvS^sM|VdFaSO$gDJy;4ONet|ToGH}T@x5`IL0Ak+2)HAj+UGki9-!OBzX57Ks9UygH#r7Fq0x`;CkDB zW^DtRClq+d6KJ?F2OXp7IXPemat_!?bY;yv;)xoGUDPB@H^ZlCP&586nmq&vvU)>y zOxnw7UpWoPSQwvmRbe!&-cP~ho9v9s)#zgbNqwRjTrV`XA`oT5QMH53mMkvp+;r*AMN?f7K9%a<#33g@Pjq9l>xa&tOi<2JCb$}p~t zM6Mu`&Mqp;#QNLOV$D|mkhWIsF~XdnNODv|t^dYc6^yDCL4GqdP3T6vyC}*wqDOcE z8*c{Wkg-a?WT_L7{wPZ z>#fMXZ>Rf$GKjLAZHGY0RH1a#+@+D36kA06E)C(I`aa!RnhW)eOCg}+-4KCFEmnT2z&RO%7%QkT4b@j={WCk57Q}F%)h-ahewt;V7ugOM9Jv)Foh}&#m$XMb zs-S^+-2tPJ5OF#7z!gDxRqC1cvR?98md+`$h#b_TrtJG#bHJrPme1fuD=uV|8e;jTOaiBMWhyEo=JhG+8@|IM{t1r@4WAA|PjWbjWxBi=Le+{mDHLK4 z7*GM7%!N`Ga0h|2_EBoL+09D@xSS2+?d3CLqHUj?K9CwZ4CIv)FH1kb@$}X0+db6e z+6%%3Sae=$l(dse1zgYoUqadZRnG^fgpv(x;EEPbP!7lPb8jN}b}qRb!tenDN)N?l z!!~yyc1_r(SFc=<%9*chybLOu14c-Fdd)`zSVpW?W!Jq*3Yis`@8cmcBL5L(RnWK2 zZ}qyN@NnJm6va`!;T$C2X$W8A;grhq$5FFNqv^!aMa~W3EQld}SJL4KuRh(lFL&N4 zC;#aeJ+O8|gQ9WS_^3CFm*zdQ0kwKMmxQn+i%1pOoLZ5ECucse^)1q zDoy4N9I>?;Q~MG82fv{t0*8gwce}y^S>4-D){9Ob{bX;(Bm93Ca_5o$Z|Ng0qMtu= zR?~lLfXimkEN4?HqG1cl-A5KE8kNo%(Gax|9q=bKLWpZH-Gqj;~u5%1%D5e_um8W z0{`8jdbd(=Rqd>8m>@F8#oxEO2)=YwAdXMjHf9q_K7Q|i6o z{UBSYM?n6m8vgt|xZbw2puFD>%K7$#KMS4#<$RaHw}IEecYwbQz7zZ=7y-Wr!m7HP z$ujQe!1sV30DlpT*!~)D4(+v|tov0^MAHGvy3d2cXFr$#FM+b2!(jzygTl{T@J?_k zDCbxK%6d;*d5)}`yB*@&l47h!S~a?4$8bg0cHGOTKs$4|8Jno zy8|YL?|VQ*pxz6L9PhXIDNxR}3>3arfqw{kpv-#!W<=i)gVKH!{5-e}TnnB6W&RIA zS@(ZH;p-k2llCuyUj!rIQ{Zk;)(b$9&ksNu|IeWCaR~k4(z~2T@oeDsi_e1-B#xI!tKLE-(XW4cH z#AH=9D15B|KLCCKoCP-9{v+Tz+UG#o_bm*P^WF{0`R@fqukQziubH68wF;DTJOql~ zmVqAx>p?lU56XFe1C;&uf)(HZI2-&XDChk*Q1+3@GViUR?EfB6_W2Mf`_BaBe4n)V zASiNQ0E%3fSzH6keqRJ-y(D-)_+>Bx4uZ1ocfbe1KezAS`5`0chrm|)p9E#xw?NU) zpIZDbDEofjw*L;4aX$csuYUpM{2w70311%rh0i&loc{q(&RcEUOF&Fe)!23vTuXZ+ zmn$>69j$<{5UASAqpl(&R{`Z1nPp3g#OO1gW5d615v7-k+Zg44h7wxA(+5Z_(){BF(|0eJ*a2JT^ z)bpUc9|nc*>)l>N6^?6du6K}4u7+V*!WeixMe{u&hd{Q%q!-Z{st zyAzc6dqFwhi?)9V6#Knw+h4Qz4N&&~BisHPQ0AAwcYyzD+v*dh|DB+$`$16VeZuxX z0t#QBv+XA=e#zoSP~@{2lzCqUWqgl)f55h10&yjE7Q7CA-S%(&q}hKbDD(Qjh2V?e z=fLmV{y7!qd~-qJ`xlUZ>PP$$eN@ad@1Fw2Puf8l_qGQN zzwfemFDU)*v+a-A_DoRtnr+)FEUp1XKTq3s6ns1FXDw#Idue|ely!SRvC{+KtKeUQ zOQcQE6?^|4DE#~o{3!VT`NobHfHHptC~{e2aXlzI0doeg|9z{yQl7{n3Y% z`V@Ew6ghp{;(vgMLVfg?m3jyYkQBVNJPVQTTouS`T$V zvXA_d&}X5&koW>ys%l7n8E6~y1k?k`Z!Pqae&YNVV<4>R-?RJ`p2eO-hF^ld0Nq(mdXnn1+&$BF^2aiKy6Xjo=hmGY1_#z}S zzX(a~vI2@iZ-ZJO`CT!fe%0a$@DSuen27$Jvv?G|A9@`6Dl`B+19d}pLOvuuv=frw zR_HDI$=J~IJU?mMpSO4!d_S}Y+6^s*Bz_!(u0qXF`S-AW*aUt7S_mD3YM_(Q87K>h zA2mT@e=kFrvidYM0*ylVKyQZ_T|bfI!FAB1(tb3Wi*Issp0n6X`c91>^QLxf@)CYJ z>7{Z`ZKAm`p30h+jETjZS+sx}Kcm}KOJebyv&>B-yiBWlG?5Tu*#@^ck;^)3yljq< zv6<5Cw>Y_s8{HUBHL6E5p3~|#JK5%px6qMsUM|NArzOt(grD^s)^wuH%uhO-+(fgN zjZB;MrY1S@l#^?UXPvAE(|+pzwFr}%b4`B6S-WPXJo-sD7mqrwUeQT=nFc?T^kUV{ zeY3LnsmI{4G2=IyPm&&^D# zjx$9!I!zvW$@!WyZ6LWO&&j&Ubi#9@eySnf=rqI=UWCc0NG(FO@my9d_CyrZEb5ld z*V~k}5$0-JadPpb_ne>d9CS4+>r^_}Rkq1*PQ;uIp0l=o5hD{`&I7X1Ogyc{v)I!M z!`I}KHfLu^%H5FgVrp?brtNHF3hQg}oF;dZ=XjfQUMh=tvlUKDQ#{(_G-eQOqSf(I zh$o5&V7q}XtTXHQ4cKR_c{6tUWE{OXesji|HSc3tk(3BAoknQWGoT?LczEMoDU zl%Eqro@)Aw{b*J#NxJcb{YLC(owuO@Bh9ME^(lZv+KDIA86TCb zMx?cF%1h8~LqpU}VRPx$s+ixBO8Bl;WQLHC$w+MSwRmuAy;(Nmtnj?Fb#=Fa@R8Mu zmsOgHCa8@b*V%w`;x5**+*B*Ufw0r)J1rSM)mY)+^tYYfeNx9@h-}Ni3Mq@i?qz)ba)=>sL7Vl*_@iA)$8huWVfWHt9-; zM(xOYD*VDjOFY-4gR16O zVly^9d5kPd#jS8Ph6bIgtycq1m17Llc2C-=ecd2dA=NQuqHpoS@-V$@uE`}RAX+%pt80B&l}cbDREV#=e!W{2 z$O<@#lb%}TwMc#i%93B@W4K;Y#~_`> za;<5PIEE=UNP>wdMv!^pE^K=F&DAF=b7c_}aB;;FVxDnT%D zNnaJz9?cTr%^3*OQ%uXALj1^C$JuKoDvSD(*ohdERifeO%82(msF0hAD9D zQ=O?a)EWu4s&4J$tLv7pLY~BnKG=v&s&3Zc{SVX^jfAVgrmckSGl;p4otxmA!>ACO6?J#wx^WKj&_8O~7{+5s7>RWKE`y?X^d1)f3fI zF@lXFxq$QM$dUq5Yt)s4h<=hBRM(u=vBPGF<*5c=)qAew3Zf5>n?-W*#*}$n>_vSP zC?26-)o0vPR*EZCk1wS?UkVW&1#CDp>o}9xn3gm}bjF@^F&ddVCn?^~4E>IRL#NX> zF)rpxB-5K4cNAO3OppL}hn7eMWR%wxA`!=V%tI=k6N@)eIX0p{Dj6!Z=Eg=cl~#Bo zHfaKXHtoUlhF19B6!%)np3ctk97?PA9Vo4|tkbR}S0(X#ZAwbJwYSRhK8X?cIV>5C zBe0lu8Oc*>ZCWCnS}R4S{7FefD+dLO65XEU2nMB;GLGdmks;F(bajD+kF0xi&8p?A zmd$jubo8Y_a%W3MY*FH@w>h5GRfb6r_KGl>&QMoWxYnAEy3JxzGu1jOA<0A{8<%32 z9D`G4atj?!tOYLYMV#e1a}P1$k)h@uLb;6`eez5OL*gLfNW>8mzpR5>B&2|KV@dp} z!B0pskNOgQ7<=3F>&({OqUt6ohe#c3Q%uX^1~&B6FRPgoadga(Y)6MAs&rO@yD^H!j=+VR~FHz3D~%?n30(~B?yW)Q95AUx+0e-7{iO!>FWhzovfE8 z<0Io*7V0DX#AV*pDmq4p#2@D7233Qf6i^pn%jyEU6OCe_acWd00YHN({mSb}!{6Q3hj8H7C7HoWjTYpAHAQ zP%(Bl<-9i+n>Oi9%^~O#Sf!AZ9Q~7aFrz(v$GYA4>9>fiad$%attmq6*L-^rX7#RV z{L;(a)^=>n(N^vGGTS9Qz2wys1kFWrS-L#ljLE&o2jxRswtOCS65YKB$YRmOSuTP zQhq~}iHX3n5kJ#dWs4{?zH)Mck}7Qz*I|8kCfib>G)v*u;BKNAkV?%YF1c?>tkBh& ztf=huN7zaFa?8{AD>-q@k7AlBiW8|NxEx7HoGzc*j4w5DjiO;FX-W8Dm?@G`l| znrve{R{2KY}}V)M>b?W!vf~YQz?~M zHKi#x8-zJq9^5(3Y^&#%mX?TKB;Md{);wcFBEW1_db(1p5_Zk1=bF|pT2(b?M$Ph? zB{#)9FEV!qWhVClj?SH?+R0(9n1~xsEznU6FMDKd{nE;ZZ;sQ&pqHs!l8X8<^jYmZ zydj>OJbtyK_nJ|gXwJBa%B7fVw%SQyb~Lk(%v&JU29J--T`=RR%E`MzHD7<4IYvvm zGCuF&lruLnKk_RKsP*OJR^?+{($j9PsoIG|s-|@N{>G%6*~ktzI~Q>$BNuBdRx%5 zH|%*nKYm4pH`>Bi$5nWBJlJ`h62d%$M_vsE58Fmn;rfB%YkQr-kVC2T(t40g|COnY%?w0L8pIC@s)Cyo~ehJvBP#Z&FY z8;8Q!e+^E|47(96trEB{9jiowRHu% zuN4k&`{^wAhO6`!+qRcpcrDy>QWbZc4R)U4Uw)$BevdA0-5nkpE*;udINBB-7!w_s zu0q$2aOkpaAe#I{w{7r*SQOGhl4fvu*vPeDcvJ<0JM!Zb!G*s3#0%lIUKRHA6ki(? zsj_;0be9S*_Y_Ze28Yh5{EeaF(1~DAN6_<%3P-mWUcP3PSlBWa>=+L(3kLYF-C|J2B9wu!?+RK74-QkEI+dm`KY9)0 zU8I7}Oq3p`Wdc}^8oh-G#5O(g(kDo8zIEVp;yIu$` z?l;C9^!6=uu(15KBeugB*Ng4J;At~ZrwU_RrK2apqc^aSVCS*o)`^H?nNUn$+!fjtyxCU-9blpcrgZ`1=Xq$CC#aZD=1;f{a z9oMGXIR5l9FO|`2=|q3A>lND&C7bTRT7cGlaG|#}Fjjsuco+)^+fLhd;g!C^c!xEL z+pKAa6}KG@`_J3PEu-z~`SCrfxaVrnbD(f(yfA(&+<7wCyHjiH^e+2(*(|S0=MDzf zPN`sYDA@UOxNj^tux(P7M%F6mKZD7Y1}@V^n?cWTe*7e69&}!*!g7lf6Vj`r01B8Y zo`^F!o+&JXk6}p07i5v`-NdxQzGM0E@%+U8(!N8*;o%A=>^y*fPEHl`J$ljvDb^^Q zJ0yOf{mE=L+e`?yU&)UjC`{~Sgn7XS<*=vM=z5%9>+<22^Wo(o6`a}V z#o?>QcJiZpifvnqhxVG!$+Gpn;c$2Rq*#o3<7aw4#|*b#GS-IY<*)70)+#ZqpXf0X zUg-?mVT$$f>e9jOH`nRd9t@2Iy{B0U%i4a@0w0WxrP($?QA`GCVZIbuvNU#UpTYNG>yDCNdFmBO3*W_!yL;Q zS)1_k25TAZOdVccu{eC8cn06OdP=bZR#)nKwRrWY3J&y#=TB%^EmXyU-58<@Zfq|N zjB|$RAAwDHhJ~=}G-LJ0;9pA=x;nKV^mel>tB;Tgjf_?J%7BEKuGfOjk;3^?L2qYx zbb#n6YQcmqjt8CR5NhGb5GJC>BIR(`%fZ>_3DD&bDw^&cR#pLqqhNTfcyWMzBzf9s zwC|z~J3YPm*NzzbkZ-(Y6&)$BaYFRHkLNFh`$R*80GhR80iSo`V%S z#9iB096nh%w=3wrWG0Yt`p@u%IBUKThkH(=%%Eq)q#kQSCREv=WUU}Pz9ZPtVS{sF z=asOnUD*&H!@cnGu)mYgud|2=Ov(iL{EYzujhgbY*!UZpl_q*^9b*rNHqM2YLz`(hnQ7e@riGOKDw_8g~tLZx4FU zNyHu+rC!$ja*9IN7@0WYNV>avk3k zmB7)nx72ow+{!7A?+}p?ijdAu47DdbxJQ37rX-hgUjM&kxO)q!l!Ju*XQ`NskP)r^ zek>F7*N-d7g`HO|1ijtL28UT$`w$*GS?J%T1L2KQ-;i-W(a8XH>yUJ*;)PRG12Y{Y zK2?*F(K`;AlG$W)>#*f&Ugxl2q$jwsH9v8Kli(v;FBz*BhEMNWh%?9wEfyp>wAEY` zg3cqz&gfI>Z7S!nE;u!|V$;1&VaEJL8$$zy-VVx2lXil^vDt-v7tOa`pU=!$(llRs zjXm+bx43glp}$>pGk98}t&X82EA5lP$kF2PeiEBbwq^c{yH1+WfAcFYEK-P$o;92k zPJ&~{gavKJ;f0ri(b3@QNvar>dj3T5#va4(G?)2t@8pB8nMwx6B1}Lv*S#q=sw5nb zx8=t=iP?xl1w#{3rxl003*+0$DRgifGRlu$kdMFNmNSN%;+0Fm;4!hIqgzQLM(Knn zQ^5Ug+ZMT$=`#H6)c6^3O8srz^`=HKDa~axHxi;9{tzDPrA#-{!M%U%94#|(Cd|zE zvo7-FV=bYAREAsW+vv?6V=aUflNI#!(a8Sw>xjD!?KB}yGJMa~@_Mg-bGvn?MVg?q z5BnTyc23N+OLmPg}a{vXk&^ zDkf~1aePEIYyH$doKmO|og_8i@>#Sne#jQ(TgHl)UnEE<QgJ4cjK3l-d4Yxs#RN literal 8348 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['open_expanded'] ) ? ' fully-expanded' : '' . ( ! empty( $this->parent->args['class'] ) ? ' ' . $this->parent->args['class'] : '' ); + $nonce = wp_create_nonce("redux_ajax_nonce"); +?> +

    + parent->args['database'] == "network" && $this->parent->args['network_admin'] && is_network_admin() ? './edit.php?action=redux_' . $this->parent->args['opt_name'] : './options.php' ) ?> +
    + + + parent->no_panel ) ) : ?> + + + init_settings_fields(); + + // Last tab? + $this->parent->options['last_tab'] = ( isset( $_GET['tab'] ) && ! isset( $this->parent->transients['last_save_mode'] ) ) ? $_GET['tab'] : ''; + ?> + + + get_template( 'content.tpl.php' ); ?> + + +
    + +parent->args['footer_text'] ) ) : ?> + + diff --git a/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/content.tpl.php b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/content.tpl.php new file mode 100644 index 00000000..37253797 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/content.tpl.php @@ -0,0 +1,121 @@ + + +get_template( 'header.tpl.php' ); ?> + + +parent->args['intro_text'] ) ) : ?> +
    parent->args['intro_text']; ?>
    + + + + + +get_template( 'menu_container.tpl.php' ); ?> + +
    + + get_template( 'header_stickybar.tpl.php' ); ?> +
     
    + parent->sections as $k => $section ) { + if ( isset( $section['customizer_only'] ) && $section['customizer_only'] == true ) { + continue; + } + + //$active = ( ( is_numeric($this->parent->current_tab) && $this->parent->current_tab == $k ) || ( !is_numeric($this->parent->current_tab) && $this->parent->current_tab === $k ) ) ? ' style="display: block;"' : ''; + $section['class'] = isset( $section['class'] ) ? ' ' . $section['class'] : ''; + echo '
    '; + //echo '
    '; + + echo '
      '; + + foreach ($section['tab'] as $subkey => $subsection) { + //echo '-=' . $subkey . '=-'; + echo '
    • ' . $subsection['title'] . '
    • '; + } + + echo '
    '; + foreach ($section['tab'] as $subkey => $subsection) { + echo '
    '; + echo '
    '; + echo "hello ".$subkey; + do_settings_sections( $this->parent->args['opt_name'] . $k . '_tab_' . $subkey . '_section_group' ); + echo "
    "; + echo "
    "; + } + echo "
    "; + } else { + */ + + // Don't display in the + $display = true; + if ( isset( $_GET['page'] ) && $_GET['page'] == $this->parent->args['page_slug'] ) { + if ( isset( $section['panel'] ) && $section['panel'] == "false" ) { + $display = false; + } + } + + if ( $display ) { + $this->output_section( $k ); + } + //} + echo "
    "; + //echo '
    '; + } + + // + // // Debug object output + // if ( $this->parent->args['dev_mode'] == true ) { + // $this->parent->debug->render(); + // } + //?> + parent->args['system_info'] === true ) : + // require_once ReduxFramework::$_dir . 'inc/sysinfo.php'; + // $system_info = new Simple_System_Info(); + // ?> + + + + + get( true );?> + + + + + parent->args['opt_name']}", $this ); // REMOVE LATER + + /** + * action 'redux/page/{opt_name}/sections/after' + * + * @param object $this ReduxFramework + */ + do_action( "redux/page/{$this->parent->args['opt_name']}/sections/after", $this ); + ?> +
    + + get_template( 'footer.tpl.php' ); ?> + + +
    \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php new file mode 100644 index 00000000..76e47d9f --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/footer.tpl.php @@ -0,0 +1,60 @@ + + + diff --git a/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php new file mode 100644 index 00000000..83c3fa7b --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header.tpl.php @@ -0,0 +1,61 @@ +parent->dev_mode_forced) { + $is_debug = false; + $is_localhost = false; + + $debug_bit = ''; + if (Redux_Helpers::isWpDebug ()) { + $is_debug = true; + $debug_bit = __('WP_DEBUG is enabled', 'redux-framework'); + } + + $localhost_bit = ''; + if (Redux_Helpers::isLocalHost ()) { + $is_localhost = true; + $localhost_bit = __('you are working in a localhost environment', 'redux-framework'); + } + + $conjunction_bit = ''; + if ($is_localhost && $is_debug) { + $conjunction_bit = ' ' . __('and', 'redux-framework') . ' '; + } + + $tip_msg = __('Redux has enabled developer mode because', 'redux-framework') . ' ' . $debug_bit . $conjunction_bit . $localhost_bit . '.'; +} else { + $tip_msg = __('If you are not a developer, your theme/plugin author shipped with developer mode enabled. Contact them directly to fix it.', 'redux-framework'); +} + +?> +
    + parent->args['display_name'] ) ) { ?> +
    + + parent->args['dev_mode'] ) && $this->parent->args['dev_mode'] ) { ?> +
    + +
    + + +

    parent->args['display_name']; ?>

    + + parent->args['display_version'] ) ) { ?> + parent->args['display_version']; ?> + + +
    + + +
    +
    \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php new file mode 100644 index 00000000..38676802 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/header_stickybar.tpl.php @@ -0,0 +1,36 @@ + +
    +
    + + parent->args['hide_expand'] ? ' style="display: none;"' : '' ?>> + +
    + + + parent->args['hide_reset'] ) : ?> + parent->args['opt_name'] . '[defaults-section]', false ); ?> + parent->args['opt_name'] . '[defaults]', false ); ?> + +
    +
     
    +
    +
    + + +
    + notification_bar(); ?> +
    + + +
    \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/menu_container.tpl.php b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/menu_container.tpl.php new file mode 100644 index 00000000..20cfa3ce --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/templates/panel/menu_container.tpl.php @@ -0,0 +1,67 @@ + +
    +
      + parent->sections as $k => $section ) { + $title = isset ( $section[ 'title' ] ) ? $section[ 'title' ] : ''; + + $skip_sec = false; + foreach ( $this->parent->hidden_perm_sections as $num => $section_title ) { + if ( $section_title == $title ) { + $skip_sec = true; + } + } + + if ( isset ( $section[ 'customizer_only' ] ) && $section[ 'customizer_only' ] == true ) { + continue; + } + + if ( false == $skip_sec ) { + echo $this->parent->section_menu ( $k, $section ); + $skip_sec = false; + } + } + + /** + * action 'redux-page-after-sections-menu-{opt_name}' + * + * @param object $this ReduxFramework + */ + do_action ( "redux-page-after-sections-menu-{$this->parent->args[ 'opt_name' ]}", $this ); + + /** + * action 'redux/page/{opt_name}/menu/after' + * + * @param object $this ReduxFramework + */ + do_action ( "redux/page/{$this->parent->args[ 'opt_name' ]}/menu/after", $this ); + + ?> + + parent->args[ 'system_info' ] === true ) : ?> + + +
    +
    \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/class.redux-plugin.php b/admin/core/lib/ReduxFramework/class.redux-plugin.php index be2f51cc..834e5dca 100644 --- a/admin/core/lib/ReduxFramework/class.redux-plugin.php +++ b/admin/core/lib/ReduxFramework/class.redux-plugin.php @@ -25,7 +25,8 @@ * @const string VERSION The plugin version, used for cache-busting and script file references * @since 3.0.0 */ - const VERSION = '3.4.1'; + + const VERSION = '3.5.4.3'; /** * @access protected @@ -183,7 +184,12 @@ } public function load_first() { - $path = str_replace( WP_PLUGIN_DIR . '/', '', __FILE__ ); + $plugin_dir = Redux_Helpers::cleanFilePath(WP_PLUGIN_DIR) . '/'; + $self_file = Redux_Helpers::cleanFilePath( __FILE__ ); + + $path = str_replace( $plugin_dir , '', $self_file ); + $path = str_replace('class.redux-plugin.php', 'redux-framework.php', $path); + if ( $plugins = get_option( 'active_plugins' ) ) { if ( $key = array_search( $path, $plugins ) ) { array_splice( $plugins, $key, 1 ); @@ -404,10 +410,10 @@ if ( strpos( $file, 'redux-framework.php' ) !== false && is_plugin_active( $file ) ) { $new_links = array( + '' . __( 'Docs', 'redux-framework' ) . '', '' . __( 'Repo', 'redux-framework' ) . '', - '' . __( 'Generator', 'redux-framework' ) . '', - '' . __( 'Issues', 'redux-framework' ) . '', - '' . __( 'Documentation', 'redux-framework' ) . '', + '' . __( 'Builder', 'redux-framework' ) . '', + '' . __( 'Get Support', 'redux-framework' ) . '', ); if ( ( is_multisite() && $this->plugin_network_activated ) || ! is_network_admin() || ! is_multisite() ) { diff --git a/admin/core/lib/ReduxFramework/redux-framework.php b/admin/core/lib/ReduxFramework/redux-framework.php index 602208ee..5934b846 100644 --- a/admin/core/lib/ReduxFramework/redux-framework.php +++ b/admin/core/lib/ReduxFramework/redux-framework.php @@ -12,7 +12,7 @@ * Description: Redux is a simple, truly extensible options framework for WordPress themes and plugins. * Author: Team Redux * Author URI: http://reduxframework.com - * Version: 3.4.1 + * Version: 3.5.4.3 * Text Domain: redux-framework * License: GPL3+ * License URI: http://www.gnu.org/licenses/gpl-3.0.txt @@ -23,7 +23,7 @@ * @author Kevin Provance * @author Daniel J Griffiths * @license GNU General Public License, version 3 - * @copyright 2012-2014 Redux Framework + * @copyright 2012-2015 Redux Framework */ // Exit if accessed directly diff --git a/admin/core/lib/ReduxFramework/sample/barebones-config-legacy.php b/admin/core/lib/ReduxFramework/sample/barebones-config-legacy.php new file mode 100644 index 00000000..2cc32810 --- /dev/null +++ b/admin/core/lib/ReduxFramework/sample/barebones-config-legacy.php @@ -0,0 +1,275 @@ +initSettings(); + } else { + add_action( 'plugins_loaded', array( $this, 'initSettings' ), 10 ); + } + + } + + public function initSettings() { + + // Set the default arguments + $this->setArguments(); + + // Set a few help tabs so you can see how it's done + $this->setHelpTabs(); + + // Create the sections and fields + $this->setSections(); + + if ( ! isset( $this->args['opt_name'] ) ) { // No errors please + return; + } + + $this->ReduxFramework = new ReduxFramework( $this->sections, $this->args ); + } + + public function setSections() { + + + // ACTUAL DECLARATION OF SECTIONS + $this->sections[] = array( + 'title' => __( 'Home Settings', 'redux-framework-demo' ), + 'desc' => __( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement. For extra details look at our WPML Implementation documentation.', 'redux-framework-demo' ), + 'icon' => 'el el-home', + // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! + 'fields' => array( + + array( + 'id' => 'textid', + 'type' => 'text', + 'title' => __( 'Example Text', 'redux-framework-demo' ), + 'compiler' => 'true', + // Can be set to false to allow any media type, or can also be set to any mime type. + 'desc' => __( 'Example description.', 'redux-framework-demo' ), + 'subtitle' => __( 'Example subtitle.', 'redux-framework-demo' ), + 'hint' => array( + //'title' => '', + 'content' => 'This is a hint tool-tip for the webFonts field.

    Add any HTML based text you like here.', + ) + ), + ) + ); + + $this->sections[] = array( + 'title' => __( 'WPML Example', 'redux-framework-demo' ), + 'desc' => __( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement.', 'redux-framework-demo' ), + 'icon' => 'el el-home', + // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! + 'fields' => array( + array( + 'id' => 'wpml-text', + 'type' => 'textarea', + 'title' => __( 'WPML Text', 'redux-framework-demo' ), + 'desc' => __( 'This string can be translated via WPML.', 'redux-framework-demo' ), + ), + array( + 'id' => 'wpml-multicheck', + 'type' => 'checkbox', + 'title' => __( 'WPML Multi Checkbox', 'redux-framework-demo' ), + 'desc' => __( 'You can literally translate the values via key.', 'redux-framework-demo' ), + //Must provide key => value pairs for multi checkbox options + 'options' => array( + '1' => 'Option 1', + '2' => 'Option 2', + '3' => 'Option 3' + ), + ), + ) + ); + } + + public function setHelpTabs() { + + // Custom page help tabs, displayed using the help API. Tabs are shown in order of definition. + $this->args['help_tabs'][] = array( + 'id' => 'redux-help-tab-1', + 'title' => __( 'Theme Information 1', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ); + + $this->args['help_tabs'][] = array( + 'id' => 'redux-help-tab-2', + 'title' => __( 'Theme Information 2', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ); + + // Set the help sidebar + $this->args['help_sidebar'] = __( '

    This is the sidebar content, HTML is allowed.

    ', 'redux-framework-demo' ); + } + + /** + * All the possible arguments for Redux. + * For full documentation on arguments, please refer to: https://github.com/ReduxFramework/ReduxFramework/wiki/Arguments + * */ + public function setArguments() { + + $theme = wp_get_theme(); // For use with some settings. Not necessary. + + $this->args = array( + // TYPICAL -> Change these values as you need/desire + 'opt_name' => 'redux_demo', + // This is where your data is stored in the database and also becomes your global variable name. + 'display_name' => $theme->get( 'Name' ), + // Name that appears at the top of your panel + 'display_version' => $theme->get( 'Version' ), + // Version that appears at the top of your panel + 'menu_type' => 'menu', + //Specify if the admin menu should appear or not. Options: menu or submenu (Under appearance only) + 'allow_sub_menu' => true, + // Show the sections below the admin menu item or not + 'menu_title' => __( 'Sample Options', 'redux-framework-demo' ), + 'page_title' => __( 'Sample Options', 'redux-framework-demo' ), + // You will need to generate a Google API key to use this feature. + // Please visit: https://developers.google.com/fonts/docs/developer_api#Auth + 'google_api_key' => '', + // Must be defined to add google fonts to the typography module + + 'async_typography' => false, + // Use a asynchronous font on the front end or font string + 'admin_bar' => true, + // Show the panel pages on the admin bar + 'global_variable' => '', + // Set a different name for your global variable other than the opt_name + 'dev_mode' => true, + // Show the time the page took to load, etc + 'customizer' => true, + // Enable basic customizer support + + // OPTIONAL -> Give you extra features + 'page_priority' => null, + // Order where the menu appears in the admin area. If there is any conflict, something will not show. Warning. + 'page_parent' => 'themes.php', + // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters + 'page_permissions' => 'manage_options', + // Permissions needed to access the options panel. + 'menu_icon' => '', + // Specify a custom URL to an icon + 'last_tab' => '', + // Force your panel to always open to a specific tab (by id) + 'page_icon' => 'icon-themes', + // Icon displayed in the admin panel next to your menu_title + 'page_slug' => '_options', + // Page slug used to denote the panel + 'save_defaults' => true, + // On load save the defaults to DB before user clicks save or not + 'default_show' => false, + // If true, shows the default value next to each field that is not the default value. + 'default_mark' => '', + // What to print by the field's title if the value shown is default. Suggested: * + 'show_import_export' => true, + // Shows the Import/Export panel when not used as a field. + + // CAREFUL -> These options are for advanced use only + 'transient_time' => 60 * MINUTE_IN_SECONDS, + 'output' => true, + // Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output + 'output_tag' => true, + // Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head + // 'footer_credit' => '', // Disable the footer credit of Redux. Please leave if you can help it. + + // FUTURE -> Not in use yet, but reserved or partially implemented. Use at your own risk. + 'database' => '', + // possible: options, theme_mods, theme_mods_expanded, transient. Not fully functional, warning! + 'system_info' => false, + // REMOVE + + // HINTS + 'hints' => array( + 'icon' => 'icon-question-sign', + 'icon_position' => 'right', + 'icon_color' => 'lightgray', + 'icon_size' => 'normal', + 'tip_style' => array( + 'color' => 'light', + 'shadow' => true, + 'rounded' => false, + 'style' => '', + ), + 'tip_position' => array( + 'my' => 'top left', + 'at' => 'bottom right', + ), + 'tip_effect' => array( + 'show' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'mouseover', + ), + 'hide' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'click mouseleave', + ), + ), + ) + ); + + + // SOCIAL ICONS -> Setup custom links in the footer for quick links in your panel footer icons. + $this->args['share_icons'][] = array( + 'url' => 'https://github.com/ReduxFramework/ReduxFramework', + 'title' => 'Visit us on GitHub', + 'icon' => 'el el-github' + //'img' => '', // You can use icon OR img. IMG needs to be a full URL. + ); + $this->args['share_icons'][] = array( + 'url' => 'https://www.facebook.com/pages/Redux-Framework/243141545850368', + 'title' => 'Like us on Facebook', + 'icon' => 'el el-facebook' + ); + $this->args['share_icons'][] = array( + 'url' => 'http://twitter.com/reduxframework', + 'title' => 'Follow us on Twitter', + 'icon' => 'el el-twitter' + ); + $this->args['share_icons'][] = array( + 'url' => 'http://www.linkedin.com/company/redux-framework', + 'title' => 'Find us on LinkedIn', + 'icon' => 'el el-linkedin' + ); + + // Panel Intro text -> before the form + if ( ! isset( $this->args['global_variable'] ) || $this->args['global_variable'] !== false ) { + if ( ! empty( $this->args['global_variable'] ) ) { + $v = $this->args['global_variable']; + } else { + $v = str_replace( '-', '_', $this->args['opt_name'] ); + } + $this->args['intro_text'] = sprintf( __( '

    Did you know that Redux sets a global variable for you? To access any of your saved options from within your code you can use your global variable: $%1$s

    ', 'redux-framework-demo' ), $v ); + } else { + $this->args['intro_text'] = __( '

    This text is displayed above the options panel. It isn\'t required, but more info is always better! The intro_text field accepts all HTML.

    ', 'redux-framework-demo' ); + } + + // Add content after the form. + $this->args['footer_text'] = __( '

    This text is displayed below the options panel. It isn\'t required, but more info is always better! The footer_text field accepts all HTML.

    ', 'redux-framework-demo' ); + } + + } + + global $reduxConfig; + $reduxConfig = new Redux_Framework_sample_config(); + } diff --git a/admin/core/lib/ReduxFramework/sample/barebones-config.php b/admin/core/lib/ReduxFramework/sample/barebones-config.php index dab69a40..13593d5c 100644 --- a/admin/core/lib/ReduxFramework/sample/barebones-config.php +++ b/admin/core/lib/ReduxFramework/sample/barebones-config.php @@ -1,275 +1,299 @@ initSettings(); - } else { - add_action( 'plugins_loaded', array( $this, 'initSettings' ), 10 ); - } - - } - - public function initSettings() { - - // Set the default arguments - $this->setArguments(); - - // Set a few help tabs so you can see how it's done - $this->setHelpTabs(); - - // Create the sections and fields - $this->setSections(); - - if ( ! isset( $this->args['opt_name'] ) ) { // No errors please - return; - } - - $this->ReduxFramework = new ReduxFramework( $this->sections, $this->args ); - } - - public function setSections() { - - - // ACTUAL DECLARATION OF SECTIONS - $this->sections[] = array( - 'title' => __( 'Home Settings', 'redux-framework-demo' ), - 'desc' => __( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement. For extra details look at our WPML Implementation documentation.', 'redux-framework-demo' ), - 'icon' => 'el-icon-home', - // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! - 'fields' => array( - - array( - 'id' => 'textid', - 'type' => 'text', - 'title' => __( 'Example Text', 'redux-framework-demo' ), - 'compiler' => 'true', - // Can be set to false to allow any media type, or can also be set to any mime type. - 'desc' => __( 'Example description.', 'redux-framework-demo' ), - 'subtitle' => __( 'Example subtitle.', 'redux-framework-demo' ), - 'hint' => array( - //'title' => '', - 'content' => 'This is a hint tool-tip for the webFonts field.

    Add any HTML based text you like here.', - ) - ), - ) - ); - - $this->sections[] = array( - 'title' => __( 'WPML Example', 'redux-framework-demo' ), - 'desc' => __( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement.', 'redux-framework-demo' ), - 'icon' => 'el-icon-home', - // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! - 'fields' => array( - array( - 'id' => 'wpml-text', - 'type' => 'textarea', - 'title' => __( 'WPML Text', 'redux-framework-demo' ), - 'desc' => __( 'This string can be translated via WPML.', 'redux-framework-demo' ), - ), - array( - 'id' => 'wpml-multicheck', - 'type' => 'checkbox', - 'title' => __( 'WPML Multi Checkbox', 'redux-framework-demo' ), - 'desc' => __( 'You can literally translate the values via key.', 'redux-framework-demo' ), - //Must provide key => value pairs for multi checkbox options - 'options' => array( - '1' => 'Option 1', - '2' => 'Option 2', - '3' => 'Option 3' - ), - ), - ) - ); - } - - public function setHelpTabs() { - - // Custom page help tabs, displayed using the help API. Tabs are shown in order of definition. - $this->args['help_tabs'][] = array( - 'id' => 'redux-help-tab-1', - 'title' => __( 'Theme Information 1', 'redux-framework-demo' ), - 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) - ); - - $this->args['help_tabs'][] = array( - 'id' => 'redux-help-tab-2', - 'title' => __( 'Theme Information 2', 'redux-framework-demo' ), - 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) - ); - - // Set the help sidebar - $this->args['help_sidebar'] = __( '

    This is the sidebar content, HTML is allowed.

    ', 'redux-framework-demo' ); - } - - /** - * All the possible arguments for Redux. - * For full documentation on arguments, please refer to: https://github.com/ReduxFramework/ReduxFramework/wiki/Arguments - * */ - public function setArguments() { - - $theme = wp_get_theme(); // For use with some settings. Not necessary. - - $this->args = array( - // TYPICAL -> Change these values as you need/desire - 'opt_name' => 'redux_demo', - // This is where your data is stored in the database and also becomes your global variable name. - 'display_name' => $theme->get( 'Name' ), - // Name that appears at the top of your panel - 'display_version' => $theme->get( 'Version' ), - // Version that appears at the top of your panel - 'menu_type' => 'menu', - //Specify if the admin menu should appear or not. Options: menu or submenu (Under appearance only) - 'allow_sub_menu' => true, - // Show the sections below the admin menu item or not - 'menu_title' => __( 'Sample Options', 'redux-framework-demo' ), - 'page_title' => __( 'Sample Options', 'redux-framework-demo' ), - // You will need to generate a Google API key to use this feature. - // Please visit: https://developers.google.com/fonts/docs/developer_api#Auth - 'google_api_key' => '', - // Must be defined to add google fonts to the typography module - - 'async_typography' => false, - // Use a asynchronous font on the front end or font string - 'admin_bar' => true, - // Show the panel pages on the admin bar - 'global_variable' => '', - // Set a different name for your global variable other than the opt_name - 'dev_mode' => true, - // Show the time the page took to load, etc - 'customizer' => true, - // Enable basic customizer support - - // OPTIONAL -> Give you extra features - 'page_priority' => null, - // Order where the menu appears in the admin area. If there is any conflict, something will not show. Warning. - 'page_parent' => 'themes.php', - // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters - 'page_permissions' => 'manage_options', - // Permissions needed to access the options panel. - 'menu_icon' => '', - // Specify a custom URL to an icon - 'last_tab' => '', - // Force your panel to always open to a specific tab (by id) - 'page_icon' => 'icon-themes', - // Icon displayed in the admin panel next to your menu_title - 'page_slug' => '_options', - // Page slug used to denote the panel - 'save_defaults' => true, - // On load save the defaults to DB before user clicks save or not - 'default_show' => false, - // If true, shows the default value next to each field that is not the default value. - 'default_mark' => '', - // What to print by the field's title if the value shown is default. Suggested: * - 'show_import_export' => true, - // Shows the Import/Export panel when not used as a field. - - // CAREFUL -> These options are for advanced use only - 'transient_time' => 60 * MINUTE_IN_SECONDS, - 'output' => true, - // Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output - 'output_tag' => true, - // Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head - // 'footer_credit' => '', // Disable the footer credit of Redux. Please leave if you can help it. - - // FUTURE -> Not in use yet, but reserved or partially implemented. Use at your own risk. - 'database' => '', - // possible: options, theme_mods, theme_mods_expanded, transient. Not fully functional, warning! - 'system_info' => false, - // REMOVE - - // HINTS - 'hints' => array( - 'icon' => 'icon-question-sign', - 'icon_position' => 'right', - 'icon_color' => 'lightgray', - 'icon_size' => 'normal', - 'tip_style' => array( - 'color' => 'light', - 'shadow' => true, - 'rounded' => false, - 'style' => '', - ), - 'tip_position' => array( - 'my' => 'top left', - 'at' => 'bottom right', - ), - 'tip_effect' => array( - 'show' => array( - 'effect' => 'slide', - 'duration' => '500', - 'event' => 'mouseover', - ), - 'hide' => array( - 'effect' => 'slide', - 'duration' => '500', - 'event' => 'click mouseleave', - ), - ), - ) - ); - - - // SOCIAL ICONS -> Setup custom links in the footer for quick links in your panel footer icons. - $this->args['share_icons'][] = array( - 'url' => 'https://github.com/ReduxFramework/ReduxFramework', - 'title' => 'Visit us on GitHub', - 'icon' => 'el-icon-github' - //'img' => '', // You can use icon OR img. IMG needs to be a full URL. - ); - $this->args['share_icons'][] = array( - 'url' => 'https://www.facebook.com/pages/Redux-Framework/243141545850368', - 'title' => 'Like us on Facebook', - 'icon' => 'el-icon-facebook' - ); - $this->args['share_icons'][] = array( - 'url' => 'http://twitter.com/reduxframework', - 'title' => 'Follow us on Twitter', - 'icon' => 'el-icon-twitter' - ); - $this->args['share_icons'][] = array( - 'url' => 'http://www.linkedin.com/company/redux-framework', - 'title' => 'Find us on LinkedIn', - 'icon' => 'el-icon-linkedin' - ); - - // Panel Intro text -> before the form - if ( ! isset( $this->args['global_variable'] ) || $this->args['global_variable'] !== false ) { - if ( ! empty( $this->args['global_variable'] ) ) { - $v = $this->args['global_variable']; - } else { - $v = str_replace( '-', '_', $this->args['opt_name'] ); - } - $this->args['intro_text'] = sprintf( __( '

    Did you know that Redux sets a global variable for you? To access any of your saved options from within your code you can use your global variable: $%1$s

    ', 'redux-framework-demo' ), $v ); - } else { - $this->args['intro_text'] = __( '

    This text is displayed above the options panel. It isn\'t required, but more info is always better! The intro_text field accepts all HTML.

    ', 'redux-framework-demo' ); - } - - // Add content after the form. - $this->args['footer_text'] = __( '

    This text is displayed below the options panel. It isn\'t required, but more info is always better! The footer_text field accepts all HTML.

    ', 'redux-framework-demo' ); - } - - } - - global $reduxConfig; - $reduxConfig = new Redux_Framework_sample_config(); + if ( ! class_exists( 'Redux' ) ) { + return; } + + // This is your option name where all the Redux data is stored. + $opt_name = "redux_demo"; + + /** + * ---> SET ARGUMENTS + * All the possible arguments for Redux. + * For full documentation on arguments, please refer to: https://github.com/ReduxFramework/ReduxFramework/wiki/Arguments + * */ + + $theme = wp_get_theme(); // For use with some settings. Not necessary. + + $args = array( + // TYPICAL -> Change these values as you need/desire + 'opt_name' => $opt_name, + // This is where your data is stored in the database and also becomes your global variable name. + 'display_name' => $theme->get( 'Name' ), + // Name that appears at the top of your panel + 'display_version' => $theme->get( 'Version' ), + // Version that appears at the top of your panel + 'menu_type' => 'menu', + //Specify if the admin menu should appear or not. Options: menu or submenu (Under appearance only) + 'allow_sub_menu' => true, + // Show the sections below the admin menu item or not + 'menu_title' => __( 'Sample Options', 'redux-framework-demo' ), + 'page_title' => __( 'Sample Options', 'redux-framework-demo' ), + // You will need to generate a Google API key to use this feature. + // Please visit: https://developers.google.com/fonts/docs/developer_api#Auth + 'google_api_key' => '', + // Set it you want google fonts to update weekly. A google_api_key value is required. + 'google_update_weekly' => false, + // Must be defined to add google fonts to the typography module + 'async_typography' => true, + // Use a asynchronous font on the front end or font string + //'disable_google_fonts_link' => true, // Disable this in case you want to create your own google fonts loader + 'admin_bar' => true, + // Show the panel pages on the admin bar + 'admin_bar_icon' => 'dashicons-portfolio', + // Choose an icon for the admin bar menu + 'admin_bar_priority' => 50, + // Choose an priority for the admin bar menu + 'global_variable' => '', + // Set a different name for your global variable other than the opt_name + 'dev_mode' => true, + // Show the time the page took to load, etc + 'update_notice' => true, + // If dev_mode is enabled, will notify developer of updated versions available in the GitHub Repo + 'customizer' => true, + // Enable basic customizer support + //'open_expanded' => true, // Allow you to start the panel in an expanded way initially. + //'disable_save_warn' => true, // Disable the save warning when a user changes a field + + // OPTIONAL -> Give you extra features + 'page_priority' => null, + // Order where the menu appears in the admin area. If there is any conflict, something will not show. Warning. + 'page_parent' => 'themes.php', + // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters + 'page_permissions' => 'manage_options', + // Permissions needed to access the options panel. + 'menu_icon' => '', + // Specify a custom URL to an icon + 'last_tab' => '', + // Force your panel to always open to a specific tab (by id) + 'page_icon' => 'icon-themes', + // Icon displayed in the admin panel next to your menu_title + 'page_slug' => '_options', + // Page slug used to denote the panel + 'save_defaults' => true, + // On load save the defaults to DB before user clicks save or not + 'default_show' => false, + // If true, shows the default value next to each field that is not the default value. + 'default_mark' => '', + // What to print by the field's title if the value shown is default. Suggested: * + 'show_import_export' => true, + // Shows the Import/Export panel when not used as a field. + + // CAREFUL -> These options are for advanced use only + 'transient_time' => 60 * MINUTE_IN_SECONDS, + 'output' => true, + // Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output + 'output_tag' => true, + // Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head + // 'footer_credit' => '', // Disable the footer credit of Redux. Please leave if you can help it. + + // FUTURE -> Not in use yet, but reserved or partially implemented. Use at your own risk. + 'database' => '', + // possible: options, theme_mods, theme_mods_expanded, transient. Not fully functional, warning! + 'system_info' => false, + // REMOVE + + //'compiler' => true, + + // HINTS + 'hints' => array( + 'icon' => 'el el-question-sign', + 'icon_position' => 'right', + 'icon_color' => 'lightgray', + 'icon_size' => 'normal', + 'tip_style' => array( + 'color' => 'light', + 'shadow' => true, + 'rounded' => false, + 'style' => '', + ), + 'tip_position' => array( + 'my' => 'top left', + 'at' => 'bottom right', + ), + 'tip_effect' => array( + 'show' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'mouseover', + ), + 'hide' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'click mouseleave', + ), + ), + ) + ); + + // ADMIN BAR LINKS -> Setup custom links in the admin bar menu as external items. + $args['admin_bar_links'][] = array( + 'id' => 'redux-docs', + 'href' => 'http://docs.reduxframework.com/', + 'title' => __( 'Documentation', 'redux-framework-demo' ), + ); + + $args['admin_bar_links'][] = array( + //'id' => 'redux-support', + 'href' => 'https://github.com/ReduxFramework/redux-framework/issues', + 'title' => __( 'Support', 'redux-framework-demo' ), + ); + + $args['admin_bar_links'][] = array( + 'id' => 'redux-extensions', + 'href' => 'reduxframework.com/extensions', + 'title' => __( 'Extensions', 'redux-framework-demo' ), + ); + + // SOCIAL ICONS -> Setup custom links in the footer for quick links in your panel footer icons. + $args['share_icons'][] = array( + 'url' => 'https://github.com/ReduxFramework/ReduxFramework', + 'title' => 'Visit us on GitHub', + 'icon' => 'el el-github' + //'img' => '', // You can use icon OR img. IMG needs to be a full URL. + ); + $args['share_icons'][] = array( + 'url' => 'https://www.facebook.com/pages/Redux-Framework/243141545850368', + 'title' => 'Like us on Facebook', + 'icon' => 'el el-facebook' + ); + $args['share_icons'][] = array( + 'url' => 'http://twitter.com/reduxframework', + 'title' => 'Follow us on Twitter', + 'icon' => 'el el-twitter' + ); + $args['share_icons'][] = array( + 'url' => 'http://www.linkedin.com/company/redux-framework', + 'title' => 'Find us on LinkedIn', + 'icon' => 'el el-linkedin' + ); + + // Panel Intro text -> before the form + if ( ! isset( $args['global_variable'] ) || $args['global_variable'] !== false ) { + if ( ! empty( $args['global_variable'] ) ) { + $v = $args['global_variable']; + } else { + $v = str_replace( '-', '_', $args['opt_name'] ); + } + $args['intro_text'] = sprintf( __( '

    Did you know that Redux sets a global variable for you? To access any of your saved options from within your code you can use your global variable: $%1$s

    ', 'redux-framework-demo' ), $v ); + } else { + $args['intro_text'] = __( '

    This text is displayed above the options panel. It isn\'t required, but more info is always better! The intro_text field accepts all HTML.

    ', 'redux-framework-demo' ); + } + + // Add content after the form. + $args['footer_text'] = __( '

    This text is displayed below the options panel. It isn\'t required, but more info is always better! The footer_text field accepts all HTML.

    ', 'redux-framework-demo' ); + + Redux::setArgs( $opt_name, $args ); + + /* + * ---> END ARGUMENTS + */ + + /* + * ---> START HELP TABS + */ + + $tabs = array( + array( + 'id' => 'redux-help-tab-1', + 'title' => __( 'Theme Information 1', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ), + array( + 'id' => 'redux-help-tab-2', + 'title' => __( 'Theme Information 2', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ) + ); + Redux::setHelpTab( $opt_name, $tabs ); + + // Set the help sidebar + $content = __( '

    This is the sidebar content, HTML is allowed.

    ', 'redux-framework-demo' ); + Redux::setHelpSidebar( $opt_name, $content ); + + + /* + * <--- END HELP TABS + */ + + + /* + * + * ---> START SECTIONS + * + */ + + /* + + As of Redux 3.5+, there is an extensive API. This API can be used in a mix/match mode allowing for + + + */ + + // -> START Basic Fields + Redux::setSection( $opt_name, array( + 'title' => __( 'Basic Field', 'redux-framework-demo' ), + 'id' => 'basic', + 'desc' => __( 'Basic field with no subsections.', 'redux-framework-demo' ), + 'icon' => 'el el-home', + 'fields' => array( + 'id' => 'opt-text', + 'type' => 'text', + 'title' => __( 'Example Text', 'redux-framework-demo' ), + 'desc' => __( 'Example description.', 'redux-framework-demo' ), + 'subtitle' => __( 'Example subtitle.', 'redux-framework-demo' ), + 'hint' => array( + 'content' => 'This is a hint tool-tip for the text field.

    Add any HTML based text you like here.', + ) + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Basic Fields', 'redux-framework-demo' ), + 'id' => 'basic', + 'desc' => __( 'Basic fields as subsections.', 'redux-framework-demo' ), + 'icon' => 'el el-home' + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Text', 'redux-framework-demo' ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/text/', + 'id' => 'opt-text-subsection', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'text-example', + 'type' => 'text', + 'title' => __( 'Text Field', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Field Description', 'redux-framework-demo' ), + 'default' => 'Default Text', + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Text Area', 'redux-framework-demo' ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/textarea/', + 'id' => 'opt-textarea-subsection', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'text-example', + 'type' => 'textarea', + 'title' => __( 'Text Area Field', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Field Description', 'redux-framework-demo' ), + 'default' => 'Default Text', + ), + ) + ) ); + + /* + * <--- END SECTIONS + */ \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/sample/info-html.html b/admin/core/lib/ReduxFramework/sample/info-html.html index 79fd45fb..26834bbf 100644 --- a/admin/core/lib/ReduxFramework/sample/info-html.html +++ b/admin/core/lib/ReduxFramework/sample/info-html.html @@ -59,9 +59,8 @@
    -

    Info Field with Raw HTML Flag

    - -

    If you set the raw_html flag to true, you can embed any type of content in an info field. Then you can have all kinds of fun with Redux!

    +

    Raw Field

    +

    You can embed any type of content in an raw field. Then you can have all kinds of fun with Redux!

    diff --git a/admin/core/lib/ReduxFramework/sample/sample-config-legacy.php b/admin/core/lib/ReduxFramework/sample/sample-config-legacy.php new file mode 100644 index 00000000..997fc4b9 --- /dev/null +++ b/admin/core/lib/ReduxFramework/sample/sample-config-legacy.php @@ -0,0 +1,1905 @@ +initSettings(); + } else { + add_action( 'plugins_loaded', array( $this, 'initSettings' ), 10 ); + } + + } + + public function initSettings() { + + // Just for demo purposes. Not needed per say. + $this->theme = wp_get_theme(); + + // Set the default arguments + $this->setArguments(); + + // Set a few help tabs so you can see how it's done + $this->setHelpTabs(); + + // Create the sections and fields + $this->setSections(); + + if ( ! isset( $this->args['opt_name'] ) ) { // No errors please + return; + } + + // If Redux is running as a plugin, this will remove the demo notice and links + //add_action( 'redux/loaded', array( $this, 'remove_demo' ) ); + + // Function to test the compiler hook and demo CSS output. + // Above 10 is a priority, but 2 in necessary to include the dynamically generated CSS to be sent to the function. + //add_filter('redux/options/'.$this->args['opt_name'].'/compiler', array( $this, 'compiler_action' ), 10, 3); + + // Change the arguments after they've been declared, but before the panel is created + //add_filter('redux/options/'.$this->args['opt_name'].'/args', array( $this, 'change_arguments' ) ); + + // Change the default value of a field after it's been set, but before it's been useds + //add_filter('redux/options/'.$this->args['opt_name'].'/defaults', array( $this,'change_defaults' ) ); + + // Dynamically add a section. Can be also used to modify sections/fields + //add_filter('redux/options/' . $this->args['opt_name'] . '/sections', array($this, 'dynamic_section')); + + $this->ReduxFramework = new ReduxFramework( $this->sections, $this->args ); + } + + /** + * This is a test function that will let you see when the compiler hook occurs. + * It only runs if a field set with compiler=>true is changed. + * */ + function compiler_action( $options, $css, $changed_values ) { + echo '

    The compiler hook has run!

    '; + echo "
    ";
    +                print_r( $changed_values ); // Values that have changed since the last save
    +                echo "
    "; + //print_r($options); //Option values + //print_r($css); // Compiler selector CSS values compiler => array( CSS SELECTORS ) + + /* + // Demo of how to use the dynamic CSS and write your own static CSS file + $filename = dirname(__FILE__) . '/style' . '.css'; + global $wp_filesystem; + if( empty( $wp_filesystem ) ) { + require_once( ABSPATH .'/wp-admin/includes/file.php' ); + WP_Filesystem(); + } + + if( $wp_filesystem ) { + $wp_filesystem->put_contents( + $filename, + $css, + FS_CHMOD_FILE // predefined mode settings for WP files + ); + } + */ + } + + /** + * Custom function for filtering the sections array. Good for child themes to override or add to the sections. + * Simply include this function in the child themes functions.php file. + * NOTE: the defined constants for URLs, and directories will NOT be available at this point in a child theme, + * so you must use get_template_directory_uri() if you want to use any of the built in icons + * */ + function dynamic_section( $sections ) { + //$sections = array(); + $sections[] = array( + 'title' => __( 'Section via hook', 'redux-framework-demo' ), + 'desc' => __( '

    This is a section created by adding a filter to the sections array. Can be used by child themes to add/remove sections from the options.

    ', 'redux-framework-demo' ), + 'icon' => 'el el-paper-clip', + // Leave this as a blank section, no options just some intro text set above. + 'fields' => array() + ); + + return $sections; + } + + /** + * Filter hook for filtering the args. Good for child themes to override or add to the args array. Can also be used in other functions. + * */ + function change_arguments( $args ) { + //$args['dev_mode'] = true; + + return $args; + } + + /** + * Filter hook for filtering the default value of any given field. Very useful in development mode. + * */ + function change_defaults( $defaults ) { + $defaults['str_replace'] = 'Testing filter hook!'; + + return $defaults; + } + + // Remove the demo link and the notice of integrated demo from the redux-framework plugin + function remove_demo() { + + // Used to hide the demo mode link from the plugin page. Only used when Redux is a plugin. + if ( class_exists( 'ReduxFrameworkPlugin' ) ) { + remove_filter( 'plugin_row_meta', array( + ReduxFrameworkPlugin::instance(), + 'plugin_metalinks' + ), null, 2 ); + + // Used to hide the activation notice informing users of the demo panel. Only used when Redux is a plugin. + remove_action( 'admin_notices', array( ReduxFrameworkPlugin::instance(), 'admin_notices' ) ); + } + } + + public function setSections() { + + /** + * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples + * */ + // Background Patterns Reader + $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/'; + $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/'; + $sample_patterns = array(); + + if ( is_dir( $sample_patterns_path ) ) : + + if ( $sample_patterns_dir = opendir( $sample_patterns_path ) ) : + $sample_patterns = array(); + + while ( ( $sample_patterns_file = readdir( $sample_patterns_dir ) ) !== false ) { + + if ( stristr( $sample_patterns_file, '.png' ) !== false || stristr( $sample_patterns_file, '.jpg' ) !== false ) { + $name = explode( '.', $sample_patterns_file ); + $name = str_replace( '.' . end( $name ), '', $sample_patterns_file ); + $sample_patterns[] = array( + 'alt' => $name, + 'img' => $sample_patterns_url . $sample_patterns_file + ); + } + } + endif; + endif; + + ob_start(); + + $ct = wp_get_theme(); + $this->theme = $ct; + $item_name = $this->theme->get( 'Name' ); + $tags = $this->theme->Tags; + $screenshot = $this->theme->get_screenshot(); + $class = $screenshot ? 'has-screenshot' : ''; + + $customize_title = sprintf( __( 'Customize “%s”', 'redux-framework-demo' ), $this->theme->display( 'Name' ) ); + + ?> +
    + + + + <?php esc_attr_e( 'Current theme preview', 'redux-framework-demo' ); ?> + + + <?php esc_attr_e( 'Current theme preview', 'redux-framework-demo' ); ?> + + +

    theme->display( 'Name' ); ?>

    + +
    +
      +
    • theme->display( 'Author' ) ); ?>
    • +
    • theme->display( 'Version' ) ); ?>
    • +
    • ' . __( 'Tags', 'redux-framework-demo' ) . ': '; ?>theme->display( 'Tags' ) ); ?>
    • +
    +

    theme->display( 'Description' ); ?>

    + theme->parent() ) { + printf( '

    ' . __( 'This child theme requires its parent theme, %2$s.', 'redux-framework-demo' ) . '

    ', __( 'http://codex.wordpress.org/Child_Themes', 'redux-framework-demo' ), $this->theme->parent()->display( 'Name' ) ); + } + ?> + +
    +
    + + get_contents( dirname( __FILE__ ) . '/info-html.html' ); + } + + // ACTUAL DECLARATION OF SECTIONS + $this->sections[] = array( + 'title' => __( 'Home Settings', 'redux-framework-demo' ), + 'desc' => __( 'Redux Framework was created with the developer in mind. It allows for any theme developer to have an advanced theme panel with most of the features a developer would need. For more information check out the Github repo at: https://github.com/ReduxFramework/Redux-Framework', 'redux-framework-demo' ), + 'icon' => 'el el-home', + // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! + 'fields' => array( + + array( + 'id' => 'opt-web-fonts', + 'type' => 'media', + 'title' => __( 'Web Fonts', 'redux-framework-demo' ), + 'compiler' => 'true', + 'mode' => false, + // Can be set to false to allow any media type, or can also be set to any mime type. + 'desc' => __( 'Basic media uploader with disabled URL input field.', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + 'hint' => array( + //'title' => '', + 'content' => 'This is a hint tool-tip for the webFonts field.

    Add any HTML based text you like here.', + ) + ), + array( + 'id' => 'section-media-checkbox', + 'type' => 'switch', + 'title' => __( 'Section Show', 'redux-framework-demo' ), + 'subtitle' => __( 'With the "section" field you can create indent option sections.', 'redux-framework-demo' ), + + ), + array( + 'id' => 'section-media-start', + 'type' => 'section', + 'title' => __( 'Media Options', 'redux-framework-demo' ), + 'subtitle' => __( 'With the "section" field you can create indent option sections.', 'redux-framework-demo' ), + 'indent' => true, // Indent all options below until the next 'section' option is set. + 'required' => array( 'section-media-checkbox', "=", 1 ), + ), + array( + 'id' => 'opt-media', + 'type' => 'media', + 'url' => true, + 'title' => __( 'Media w/ URL', 'redux-framework-demo' ), + 'compiler' => 'true', + //'mode' => false, // Can be set to false to allow any media type, or can also be set to any mime type. + 'desc' => __( 'Basic media uploader with disabled URL input field.', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + 'default' => array( 'url' => 'http://s.wordpress.org/style/images/codeispoetry.png' ), + //'hint' => array( + // 'title' => 'Hint Title', + // 'content' => 'This is a hint for the media field with a Title.', + //) + ), + array( + 'id' => 'section-media-end', + 'type' => 'section', + 'indent' => false, // Indent all options below until the next 'section' option is set. + 'required' => array( 'section-media-checkbox', "=", 1 ), + ), + array( + 'id' => 'media-no-url', + 'type' => 'media', + 'title' => __( 'Media w/o URL', 'redux-framework-demo' ), + 'desc' => __( 'This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + ), + array( + 'id' => 'media-no-preview', + 'type' => 'media', + 'preview' => false, + 'title' => __( 'Media No Preview', 'redux-framework-demo' ), + 'desc' => __( 'This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-gallery', + 'type' => 'gallery', + 'title' => __( 'Add/Edit Gallery', 'redux-framework-demo' ), + 'subtitle' => __( 'Create a new Gallery by selecting existing or uploading new images using the WordPress native uploader', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-slider-label', + 'type' => 'slider', + 'title' => __( 'Slider Example 1', 'redux-framework-demo' ), + 'subtitle' => __( 'This slider displays the value as a label.', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 1, max: 500, step: 1, default value: 250', 'redux-framework-demo' ), + 'default' => 250, + 'min' => 1, + 'step' => 1, + 'max' => 500, + 'display_value' => 'label' + ), + array( + 'id' => 'opt-slider-text', + 'type' => 'slider', + 'title' => __( 'Slider Example 2 with Steps (5)', 'redux-framework-demo' ), + 'subtitle' => __( 'This example displays the value in a text box', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 0, max: 300, step: 5, default value: 75', 'redux-framework-demo' ), + 'default' => 75, + 'min' => 0, + 'step' => 5, + 'max' => 300, + 'display_value' => 'text' + ), + array( + 'id' => 'opt-slider-select', + 'type' => 'slider', + 'title' => __( 'Slider Example 3 with two sliders', 'redux-framework-demo' ), + 'subtitle' => __( 'This example displays the values in select boxes', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 0, max: 500, step: 5, slider 1 default value: 100, slider 2 default value: 300', 'redux-framework-demo' ), + 'default' => array( + 1 => 100, + 2 => 300, + ), + 'min' => 0, + 'step' => 5, + 'max' => '500', + 'display_value' => 'select', + 'handles' => 2, + ), + array( + 'id' => 'opt-slider-float', + 'type' => 'slider', + 'title' => __( 'Slider Example 4 with float values', 'redux-framework-demo' ), + 'subtitle' => __( 'This example displays float values', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 0, max: 1, step: .1, default value: .5', 'redux-framework-demo' ), + 'default' => .5, + 'min' => 0, + 'step' => .1, + 'max' => 1, + 'resolution' => 0.1, + 'display_value' => 'text' + ), + array( + 'id' => 'opt-spinner', + 'type' => 'spinner', + 'title' => __( 'JQuery UI Spinner Example 1', 'redux-framework-demo' ), + 'desc' => __( 'JQuery UI spinner description. Min:20, max: 100, step:20, default value: 40', 'redux-framework-demo' ), + 'default' => '40', + 'min' => '20', + 'step' => '20', + 'max' => '100', + ), + array( + 'id' => 'switch-on', + 'type' => 'switch', + 'title' => __( 'Switch On', 'redux-framework-demo' ), + 'subtitle' => __( 'Look, it\'s on!', 'redux-framework-demo' ), + 'default' => true, + ), + array( + 'id' => 'switch-off', + 'type' => 'switch', + 'title' => __( 'Switch Off', 'redux-framework-demo' ), + 'subtitle' => __( 'Look, it\'s on!', 'redux-framework-demo' ), + //'options' => array('on', 'off'), + 'default' => false, + ), + array( + 'id' => 'switch-parent', + 'type' => 'switch', + 'title' => __( 'Switch - Nested Children, Enable to show', 'redux-framework-demo' ), + 'subtitle' => __( 'Look, it\'s on! Also hidden child elements!', 'redux-framework-demo' ), + 'default' => 0, + 'on' => 'Enabled', + 'off' => 'Disabled', + ), + array( + 'id' => 'switch-child1', + 'type' => 'switch', + 'required' => array( 'switch-parent', '=', '1' ), + 'title' => __( 'Switch - This and the next switch required for patterns to show', 'redux-framework-demo' ), + 'subtitle' => __( 'Also called a "fold" parent.', 'redux-framework-demo' ), + 'desc' => __( 'Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo' ), + 'default' => false, + ), + array( + 'id' => 'switch-child2', + 'type' => 'switch', + 'required' => array( 'switch-parent', '=', '1' ), + 'title' => __( 'Switch2 - Enable the above switch and this one for patterns to show', 'redux-framework-demo' ), + 'subtitle' => __( 'Also called a "fold" parent.', 'redux-framework-demo' ), + 'desc' => __( 'Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo' ), + 'default' => false, + ), + array( + 'id' => 'opt-patterns', + 'type' => 'image_select', + 'tiles' => true, + 'required' => array( + array( 'switch-child1', 'equals', 1 ), + array( 'switch-child2', 'equals', 1 ), + ), + 'title' => __( 'Images Option (with pattern=>true)', 'redux-framework-demo' ), + 'subtitle' => __( 'Select a background pattern.', 'redux-framework-demo' ), + 'default' => 0, + 'options' => $sample_patterns + , + ), + array( + 'id' => 'opt-homepage-layout', + 'type' => 'sorter', + 'title' => 'Layout Manager Advanced', + 'subtitle' => 'You can add multiple drop areas or columns.', + 'compiler' => 'true', + 'options' => array( + 'enabled' => array( + 'highlights' => 'Highlights', + 'slider' => 'Slider', + 'staticpage' => 'Static Page', + 'services' => 'Services' + ), + 'disabled' => array(), + 'backup' => array(), + ), + 'limits' => array( + 'disabled' => 1, + 'backup' => 2, + ), + ), + array( + 'id' => 'opt-homepage-layout-2', + 'type' => 'sorter', + 'title' => 'Homepage Layout Manager', + 'desc' => 'Organize how you want the layout to appear on the homepage', + 'compiler' => 'true', + 'options' => array( + 'disabled' => array( + 'highlights' => 'Highlights', + 'slider' => 'Slider', + ), + 'enabled' => array( + 'staticpage' => 'Static Page', + 'services' => 'Services' + ), + ), + ), + array( + 'id' => 'opt-slides', + 'type' => 'slides', + 'title' => __( 'Slides Options', 'redux-framework-demo' ), + 'subtitle' => __( 'Unlimited slides with drag and drop sortings.', 'redux-framework-demo' ), + 'desc' => __( 'This field will store all slides values into a multidimensional array to use into a foreach loop.', 'redux-framework-demo' ), + 'placeholder' => array( + 'title' => __( 'This is a title', 'redux-framework-demo' ), + 'description' => __( 'Description Here', 'redux-framework-demo' ), + 'url' => __( 'Give us a link!', 'redux-framework-demo' ), + ), + ), + array( + 'id' => 'opt-presets', + 'type' => 'image_select', + 'presets' => true, + 'title' => __( 'Preset', 'redux-framework-demo' ), + 'subtitle' => __( 'This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo' ), + 'default' => 0, + 'desc' => __( 'This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo' ), + 'options' => array( + '1' => array( + 'alt' => 'Preset 1', + 'img' => ReduxFramework::$_url . '../sample/presets/preset1.png', + 'presets' => array( + 'switch-on' => 1, + 'switch-off' => 1, + 'switch-parent' => 1 + ) + ), + '2' => array( + 'alt' => 'Preset 2', + 'img' => ReduxFramework::$_url . '../sample/presets/preset2.png', + 'presets' => '{"opt-slider-label":"1", "opt-slider-text":"10"}' + ), + ), + ), + array( + 'id' => 'opt-typography', + 'type' => 'typography', + 'title' => __( 'Typography', 'redux-framework-demo' ), + //'compiler' => true, // Use if you want to hook in your own CSS compiler + 'google' => true, + // Disable google fonts. Won't work if you haven't defined your google api key + 'font-backup' => true, + // Select a backup non-google font in addition to a google font + //'font-style' => false, // Includes font-style and weight. Can use font-style or font-weight to declare + //'subsets' => false, // Only appears if google is true and subsets not set to false + //'font-size' => false, + //'line-height' => false, + //'word-spacing' => true, // Defaults to false + //'letter-spacing'=> true, // Defaults to false + //'color' => false, + //'preview' => false, // Disable the previewer + 'all_styles' => true, + // Enable all Google Font style/weight variations to be added to the page + 'output' => array( 'h2.site-description, .entry-title' ), + // An array of CSS selectors to apply this font style to dynamically + 'compiler' => array( 'h2.site-description-compiler' ), + // An array of CSS selectors to apply this font style to dynamically + 'units' => 'px', + // Defaults to px + 'subtitle' => __( 'Typography option with each property can be called individually.', 'redux-framework-demo' ), + 'default' => array( + 'color' => '#333', + 'font-style' => '700', + 'font-family' => 'Abel', + 'google' => true, + 'font-size' => '33px', + 'line-height' => '40px' + ), + ), + ), + ); + + $this->sections[] = array( + 'type' => 'divide', + ); + + $this->sections[] = array( + 'icon' => 'el el-cogs', + 'title' => __( 'General Settings', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => 'opt-layout', + 'type' => 'image_select', + 'compiler' => true, + 'title' => __( 'Main Layout', 'redux-framework-demo' ), + 'subtitle' => __( 'Select main content and sidebar alignment. Choose between 1, 2 or 3 column layout.', 'redux-framework-demo' ), + 'options' => array( + '1' => array( + 'alt' => '1 Column', + 'img' => ReduxFramework::$_url . 'assets/img/1col.png' + ), + '2' => array( + 'alt' => '2 Column Left', + 'img' => ReduxFramework::$_url . 'assets/img/2cl.png' + ), + '3' => array( + 'alt' => '2 Column Right', + 'img' => ReduxFramework::$_url . 'assets/img/2cr.png' + ), + '4' => array( + 'alt' => '3 Column Middle', + 'img' => ReduxFramework::$_url . 'assets/img/3cm.png' + ), + '5' => array( + 'alt' => '3 Column Left', + 'img' => ReduxFramework::$_url . 'assets/img/3cl.png' + ), + '6' => array( + 'alt' => '3 Column Right', + 'img' => ReduxFramework::$_url . 'assets/img/3cr.png' + ) + ), + 'default' => '2' + ), + array( + 'id' => 'opt-textarea', + 'type' => 'textarea', + 'required' => array( 'layout', 'equals', '1' ), + 'title' => __( 'Tracking Code', 'redux-framework-demo' ), + 'subtitle' => __( 'Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.', 'redux-framework-demo' ), + 'validate' => 'js', + 'desc' => 'Validate that it\'s javascript!', + ), + array( + 'id' => 'opt-ace-editor-css', + 'type' => 'ace_editor', + 'title' => __( 'CSS Code', 'redux-framework-demo' ), + 'subtitle' => __( 'Paste your CSS code here.', 'redux-framework-demo' ), + 'mode' => 'css', + 'theme' => 'monokai', + 'desc' => 'Possible modes can be found at http://ace.c9.io/.', + 'default' => "#header{\nmargin: 0 auto;\n}" + ), + /* + array( + 'id' => 'opt-ace-editor-js', + 'type' => 'ace_editor', + 'title' => __('JS Code', 'redux-framework-demo'), + 'subtitle' => __('Paste your JS code here.', 'redux-framework-demo'), + 'mode' => 'javascript', + 'theme' => 'chrome', + 'desc' => 'Possible modes can be found at http://ace.c9.io/.', + 'default' => "jQuery(document).ready(function(){\n\n});" + ), + array( + 'id' => 'opt-ace-editor-php', + 'type' => 'ace_editor', + 'title' => __('PHP Code', 'redux-framework-demo'), + 'subtitle' => __('Paste your PHP code here.', 'redux-framework-demo'), + 'mode' => 'php', + 'theme' => 'chrome', + 'desc' => 'Possible modes can be found at http://ace.c9.io/.', + 'default' => '' + ), + */ + array( + 'id' => 'opt-editor', + 'type' => 'editor', + 'title' => __( 'Footer Text', 'redux-framework-demo' ), + 'subtitle' => __( 'You can use the following shortcodes in your footer text: [wp-url] [site-url] [theme-url] [login-url] [logout-url] [site-title] [site-tagline] [current-year]', 'redux-framework-demo' ), + 'default' => 'Powered by Redux Framework.', + ), + array( + 'id' => 'password', + 'type' => 'password', + 'username' => true, + 'title' => 'SMTP Account', + //'placeholder' => array('username' => 'Enter your Username') + ) + ) + ); + + $this->sections[] = array( + 'icon' => 'el el-website', + 'title' => __( 'Styling Options', 'redux-framework-demo' ), + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-select-stylesheet', + 'type' => 'select', + 'title' => __( 'Theme Stylesheet', 'redux-framework-demo' ), + 'subtitle' => __( 'Select your themes alternative color scheme.', 'redux-framework-demo' ), + 'options' => array( 'default.css' => 'default.css', 'color1.css' => 'color1.css' ), + 'default' => 'default.css', + ), + array( + 'id' => 'opt-color-background', + 'type' => 'color', + 'output' => array( '.site-title' ), + 'title' => __( 'Body Background Color', 'redux-framework-demo' ), + 'subtitle' => __( 'Pick a background color for the theme (default: #fff).', 'redux-framework-demo' ), + 'default' => '#FFFFFF', + 'validate' => 'color', + ), + array( + 'id' => 'opt-background', + 'type' => 'background', + 'output' => array( 'body' ), + 'title' => __( 'Body Background', 'redux-framework-demo' ), + 'subtitle' => __( 'Body background with image, color, etc.', 'redux-framework-demo' ), + //'default' => '#FFFFFF', + ), + array( + 'id' => 'opt-color-footer', + 'type' => 'color', + 'title' => __( 'Footer Background Color', 'redux-framework-demo' ), + 'subtitle' => __( 'Pick a background color for the footer (default: #dd9933).', 'redux-framework-demo' ), + 'default' => '#dd9933', + 'validate' => 'color', + ), + array( + 'id' => 'opt-color-rgba', + 'type' => 'color_rgba', + 'title' => __( 'Color RGBA', 'redux-framework-demo' ), + 'subtitle' => __( 'Gives you the RGBA color.', 'redux-framework-demo' ), + 'default' => array( + 'color' => '#7e33dd', + 'alpha' => '.8' + ), + 'output' => array( 'body' ), + 'mode' => 'background', + 'validate' => 'colorrgba', + ), + array( + 'id' => 'opt-color-header', + 'type' => 'color_gradient', + 'title' => __( 'Header Gradient Color Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => array( + 'from' => '#1e73be', + 'to' => '#00897e' + ) + ), + array( + 'id' => 'opt-link-color', + 'type' => 'link_color', + 'title' => __( 'Links Color Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //'regular' => false, // Disable Regular Color + //'hover' => false, // Disable Hover Color + //'active' => false, // Disable Active Color + //'visited' => true, // Enable Visited Color + 'default' => array( + 'regular' => '#aaa', + 'hover' => '#bbb', + 'active' => '#ccc', + ) + ), + array( + 'id' => 'opt-header-border', + 'type' => 'border', + 'title' => __( 'Header Border Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'output' => array( '.site-header' ), + // An array of CSS selectors to apply this font style to + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => array( + 'border-color' => '#1e73be', + 'border-style' => 'solid', + 'border-top' => '3px', + 'border-right' => '3px', + 'border-bottom' => '3px', + 'border-left' => '3px' + ) + ), + array( + 'id' => 'opt-spacing', + 'type' => 'spacing', + 'output' => array( '.site-header' ), + // An array of CSS selectors to apply this font style to + 'mode' => 'margin', + // absolute, padding, margin, defaults to padding + 'all' => true, + // Have one field that applies to all + //'top' => false, // Disable the top + //'right' => false, // Disable the right + //'bottom' => false, // Disable the bottom + //'left' => false, // Disable the left + //'units' => 'em', // You can specify a unit value. Possible: px, em, % + //'units_extended'=> 'true', // Allow users to select any type of unit + //'display_units' => 'false', // Set to false to hide the units if the units are specified + 'title' => __( 'Padding/Margin Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Allow your users to choose the spacing or margin they want.', 'redux-framework-demo' ), + 'desc' => __( 'You can enable or disable any piece of this field. Top, Right, Bottom, Left, or Units.', 'redux-framework-demo' ), + 'default' => array( + 'margin-top' => '1px', + 'margin-right' => '2px', + 'margin-bottom' => '3px', + 'margin-left' => '4px' + ) + ), + array( + 'id' => 'opt-dimensions', + 'type' => 'dimensions', + 'units' => 'em', // You can specify a unit value. Possible: px, em, % + 'units_extended' => 'true', // Allow users to select any type of unit + 'title' => __( 'Dimensions (Width/Height) Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Allow your users to choose width, height, and/or unit.', 'redux-framework-demo' ), + 'desc' => __( 'You can enable or disable any piece of this field. Width, Height, or Units.', 'redux-framework-demo' ), + 'default' => array( + 'width' => 200, + 'height' => 100, + ) + ), + array( + 'id' => 'opt-typography-body', + 'type' => 'typography', + 'title' => __( 'Body Font', 'redux-framework-demo' ), + 'subtitle' => __( 'Specify the body font properties.', 'redux-framework-demo' ), + 'google' => true, + 'default' => array( + 'color' => '#dd9933', + 'font-size' => '30px', + 'font-family' => 'Arial,Helvetica,sans-serif', + 'font-weight' => 'Normal', + ), + ), + array( + 'id' => 'opt-custom-css', + 'type' => 'textarea', + 'title' => __( 'Custom CSS', 'redux-framework-demo' ), + 'subtitle' => __( 'Quickly add some CSS to your theme by adding it to this block.', 'redux-framework-demo' ), + 'desc' => __( 'This field is even CSS validated!', 'redux-framework-demo' ), + 'validate' => 'css', + ), + array( + 'id' => 'opt-custom-html', + 'type' => 'textarea', + 'title' => __( 'Custom HTML', 'redux-framework-demo' ), + 'subtitle' => __( 'Just like a text box widget.', 'redux-framework-demo' ), + 'desc' => __( 'This field is even HTML validated!', 'redux-framework-demo' ), + 'validate' => 'html', + ), + ) + ); + + /** + * Note here I used a 'heading' in the sections array construct + * This allows you to use a different title on your options page + * instead of reusing the 'title' value. This can be done on any + * section - kp + */ + $this->sections[] = array( + 'icon' => 'el el-bullhorn', + 'title' => __( 'Field Validation', 'redux-framework-demo' ), + 'heading' => __( 'Validate ALL fields within Redux.', 'redux-framework-demo' ), + 'desc' => __( '

    This is the Description. Again HTML is allowed2

    ', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => 'opt-text-email', + 'type' => 'text', + 'title' => __( 'Text Option - Email Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This is a little space under the Field Title in the Options table, additional info is good in here.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'email', + 'msg' => 'custom error message', + 'default' => 'test@test.com', + // 'text_hint' => array( + // 'title' => 'Valid Email Required!', + // 'content' => 'This field required a valid email address.' + // ) + ), + array( + 'id' => 'opt-text-post-type', + 'type' => 'text', + 'title' => __( 'Text Option with Data Attributes', 'redux-framework-demo' ), + 'subtitle' => __( 'You can also pass an options array if you want. Set the default to whatever you like.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'post_type', + ), + array( + 'id' => 'opt-multi-text', + 'type' => 'multi_text', + 'title' => __( 'Multi Text Option - Color Validated', 'redux-framework-demo' ), + 'validate' => 'color', + 'subtitle' => __( 'If you enter an invalid color it will be removed. Try using the text "blue" as a color. ;)', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-text-url', + 'type' => 'text', + 'title' => __( 'Text Option - URL Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be a URL.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'url', + 'default' => 'http://reduxframework.com', + // 'text_hint' => array( + // 'title' => '', + // 'content' => 'Please enter a valid URL in this field.' + // ) + ), + array( + 'id' => 'opt-text-numeric', + 'type' => 'text', + 'title' => __( 'Text Option - Numeric Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be numeric.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'numeric', + 'default' => '0', + ), + array( + 'id' => 'opt-text-comma-numeric', + 'type' => 'text', + 'title' => __( 'Text Option - Comma Numeric Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be a comma separated string of numerical values.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'comma_numeric', + 'default' => '0', + ), + array( + 'id' => 'opt-text-no-special-chars', + 'type' => 'text', + 'title' => __( 'Text Option - No Special Chars Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be a alpha numeric only.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'no_special_chars', + 'default' => '0' + ), + array( + 'id' => 'opt-text-str_replace', + 'type' => 'text', + 'title' => __( 'Text Option - Str Replace Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + 'desc' => __( 'This field\'s default value was changed by a filter hook!', 'redux-framework-demo' ), + 'validate' => 'str_replace', + 'str' => array( + 'search' => ' ', + 'replacement' => 'thisisaspace' + ), + 'default' => 'This is the default.' + ), + array( + 'id' => 'opt-text-preg_replace', + 'type' => 'text', + 'title' => __( 'Text Option - Preg Replace Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'preg_replace', + 'preg' => array( + 'pattern' => '/[^a-zA-Z_ -]/s', + 'replacement' => 'no numbers' + ), + 'default' => '0' + ), + array( + 'id' => 'opt-text-custom_validate', + 'type' => 'text', + 'title' => __( 'Text Option - Custom Callback Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate_callback' => 'redux_validate_callback_function', + 'default' => '0' + ), + array( + 'id' => 'opt-text-custom_validate-class', + 'type' => 'text', + 'title' => __( 'Text Option - Custom Callback Validated - Class', 'redux-framework-demo' ), + 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate_callback' => array( $this, 'validate_callback_function' ), + // You can pass the current class + // Or pass the class name and method + //'validate_callback' => array( + // 'Redux_Framework_sample_config', + // 'validate_callback_function' + //), + 'default' => '0' + ), + array( + 'id' => 'opt-textarea-no-html', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - No HTML Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'All HTML will be stripped', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'no_html', + 'default' => 'No HTML is allowed in here.' + ), + array( + 'id' => 'opt-textarea-html', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - HTML Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'HTML Allowed (wp_kses)', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'html', //see http://codex.wordpress.org/Function_Reference/wp_kses_post + 'default' => 'HTML is allowed in here.' + ), + array( + 'id' => 'opt-textarea-some-html', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - HTML Validated Custom', 'redux-framework-demo' ), + 'subtitle' => __( 'Custom HTML Allowed (wp_kses)', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'html_custom', + 'default' => '

    Some HTML is allowed in here.

    ', + 'allowed_html' => array( '' ) //see http://codex.wordpress.org/Function_Reference/wp_kses + ), + array( + 'id' => 'opt-textarea-js', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - JS Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'JS will be escaped', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'js' + ), + ) + ); + + $this->sections[] = array( + 'icon' => 'el el-check', + 'title' => __( 'Radio/Checkbox Fields', 'redux-framework-demo' ), + 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => 'opt-checkbox', + 'type' => 'checkbox', + 'title' => __( 'Checkbox Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => '1'// 1 = on | 0 = off + ), + array( + 'id' => 'opt-multi-check', + 'type' => 'checkbox', + 'title' => __( 'Multi Checkbox Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for multi checkbox options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + //See how std has changed? you also don't need to specify opts that are 0. + 'default' => array( + '1' => '1', + '2' => '0', + '3' => '0' + ) + ), + array( + 'id' => 'opt-checkbox-data', + 'type' => 'checkbox', + 'title' => __( 'Multi Checkbox Option (with menu data)', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'menu' + ), + array( + 'id' => 'opt-checkbox-sidebar', + 'type' => 'checkbox', + 'title' => __( 'Multi Checkbox Option (with sidebar data)', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'sidebars' + ), + array( + 'id' => 'opt-radio', + 'type' => 'radio', + 'title' => __( 'Radio Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => '2' + ), + array( + 'id' => 'opt-radio-data', + 'type' => 'radio', + 'title' => __( 'Multi Checkbox Option (with menu data)', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'menu' + ), + array( + 'id' => 'opt-image-select', + 'type' => 'image_select', + 'title' => __( 'Images Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value(array:title|img) pairs for radio options + 'options' => array( + '1' => array( 'title' => 'Opt 1', 'img' => 'images/align-none.png' ), + '2' => array( 'title' => 'Opt 2', 'img' => 'images/align-left.png' ), + '3' => array( 'title' => 'Opt 3', 'img' => 'images/align-center.png' ), + '4' => array( 'title' => 'Opt 4', 'img' => 'images/align-right.png' ) + ), + 'default' => '2' + ), + array( + 'id' => 'opt-image-select-layout', + 'type' => 'image_select', + 'title' => __( 'Images Option for Layout', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This uses some of the built in images, you can use them for layout options.', 'redux-framework-demo' ), + //Must provide key => value(array:title|img) pairs for radio options + 'options' => array( + '1' => array( + 'alt' => '1 Column', + 'img' => ReduxFramework::$_url . 'assets/img/1col.png' + ), + '2' => array( + 'alt' => '2 Column Left', + 'img' => ReduxFramework::$_url . 'assets/img/2cl.png' + ), + '3' => array( + 'alt' => '2 Column Right', + 'img' => ReduxFramework::$_url . 'assets/img/2cr.png' + ), + '4' => array( + 'alt' => '3 Column Middle', + 'img' => ReduxFramework::$_url . 'assets/img/3cm.png' + ), + '5' => array( + 'alt' => '3 Column Left', + 'img' => ReduxFramework::$_url . 'assets/img/3cl.png' + ), + '6' => array( + 'alt' => '3 Column Right', + 'img' => ReduxFramework::$_url . 'assets/img/3cr.png' + ) + ), + 'default' => '2' + ), + array( + 'id' => 'opt-sortable', + 'type' => 'sortable', + 'title' => __( 'Sortable Text Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Define and reorder these however you want.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'label' => true, + 'options' => array( + 'si1' => 'Item 1', + 'si2' => 'Item 2', + 'si3' => 'Item 3', + ) + ), + array( + 'id' => 'opt-check-sortable', + 'type' => 'sortable', + 'mode' => 'checkbox', // checkbox or text + 'title' => __( 'Sortable Text Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Define and reorder these however you want.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'options' => array( + 'si1' => false, + 'si2' => true, + 'si3' => false, + ) + ), + ) + ); + + $this->sections[] = array( + 'icon' => 'el el-list-alt', + 'title' => __( 'Select Fields', 'redux-framework-demo' ), + 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => 'opt-select', + 'type' => 'select', + 'title' => __( 'Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for select options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3', + ), + 'default' => '2' + ), + array( + 'id' => 'opt-select-optgroup', + 'type' => 'select', + 'title' => __( 'Select Option with optgroup', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for select options + 'options' => array( + 'Group 1' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3', + ), + + 'Group 2' => array( + '4' => 'Opt 4', + '5' => 'Opt 5', + '6' => 'Opt 6', + ), + + '7' => 'Opt 7', + '8' => 'Opt 8', + '9' => 'Opt 9', + ), + 'default' => '2' + ), + + array( + 'id' => 'opt-multi-select', + 'type' => 'select', + 'multi' => true, + 'title' => __( 'Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + //'required' => array( 'opt-select', 'equals', array( '1', '3' ) ), + 'default' => array( '2', '3' ) + ), + array( + 'id' => 'opt-select-image', + 'type' => 'select_image', + 'title' => __( 'Select Image', 'redux-framework-demo' ), + 'subtitle' => __( 'A preview of the selected image will appear underneath the select box.', 'redux-framework-demo' ), + 'options' => $sample_patterns, + // Alternatively + //'options' => Array( + // 'img_name' => 'img_path' + // ) + 'default' => 'tree_bark.png', + ), + array( + 'id' => 'opt-info', + 'type' => 'info', + 'desc' => __( 'You can easily add a variety of data from WordPress.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-categories', + 'type' => 'select', + 'data' => 'categories', + 'title' => __( 'Categories Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-categories-multi', + 'type' => 'select', + 'data' => 'categories', + 'multi' => true, + 'title' => __( 'Categories Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-pages', + 'type' => 'select', + 'data' => 'pages', + 'title' => __( 'Pages Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-pages', + 'type' => 'select', + 'data' => 'pages', + 'multi' => true, + 'title' => __( 'Pages Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-tags', + 'type' => 'select', + 'data' => 'tags', + 'title' => __( 'Tags Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-tags', + 'type' => 'select', + 'data' => 'tags', + 'multi' => true, + 'title' => __( 'Tags Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-menus', + 'type' => 'select', + 'data' => 'menus', + 'title' => __( 'Menus Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-menus', + 'type' => 'select', + 'data' => 'menu', + 'multi' => true, + 'title' => __( 'Menus Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-post-type', + 'type' => 'select', + 'data' => 'post_type', + 'title' => __( 'Post Type Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-post-type', + 'type' => 'select', + 'data' => 'post_type', + 'multi' => true, + 'title' => __( 'Post Type Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-sortable', + 'type' => 'select', + 'data' => 'post_type', + 'multi' => true, + 'sortable' => true, + 'title' => __( 'Post Type Multi Select Option + Sortable', 'redux-framework-demo' ), + 'subtitle' => __( 'This field also has sortable enabled!', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-posts', + 'type' => 'select', + 'data' => 'post', + 'title' => __( 'Posts Select Option2', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-posts', + 'type' => 'select', + 'data' => 'post', + 'multi' => true, + 'title' => __( 'Posts Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-roles', + 'type' => 'select', + 'data' => 'roles', + 'title' => __( 'User Role Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-capabilities', + 'type' => 'select', + 'data' => 'capabilities', + 'multi' => true, + 'title' => __( 'Capabilities Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-elusive', + 'type' => 'select', + 'data' => 'elusive-icons', + 'title' => __( 'Elusive Icons Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'Here\'s a list of all the elusive icons by name and icon.', 'redux-framework-demo' ), + ), + ) + ); + + $theme_info = '
    '; + $theme_info .= '

    ' . __( 'Theme URL: ', 'redux-framework-demo' ) . '' . $this->theme->get( 'ThemeURI' ) . '

    '; + $theme_info .= '

    ' . __( 'Author: ', 'redux-framework-demo' ) . $this->theme->get( 'Author' ) . '

    '; + $theme_info .= '

    ' . __( 'Version: ', 'redux-framework-demo' ) . $this->theme->get( 'Version' ) . '

    '; + $theme_info .= '

    ' . $this->theme->get( 'Description' ) . '

    '; + $tabs = $this->theme->get( 'Tags' ); + if ( ! empty( $tabs ) ) { + $theme_info .= '

    ' . __( 'Tags: ', 'redux-framework-demo' ) . implode( ', ', $tabs ) . '

    '; + } + $theme_info .= '
    '; + + if ( file_exists( dirname( __FILE__ ) . '/../README.md' ) ) { + $this->sections['theme_docs'] = array( + 'icon' => 'el el-list-alt', + 'title' => __( 'Documentation', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => '17', + 'type' => 'raw', + 'markdown' => true, + 'content' => file_get_contents( dirname( __FILE__ ) . '/../README.md' ) + ), + ), + ); + } + + // You can append a new section at any time. + $this->sections[] = array( + 'icon' => 'el el-eye-open', + 'title' => __( 'Additional Fields', 'redux-framework-demo' ), + 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => 'opt-datepicker', + 'type' => 'date', + 'title' => __( 'Date Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-divide', + 'type' => 'divide' + ), + array( + 'id' => 'opt-button-set', + 'type' => 'button_set', + 'title' => __( 'Button Set Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => '2' + ), + array( + 'id' => 'opt-button-set-multi', + 'type' => 'button_set', + 'title' => __( 'Button Set, Multi Select', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'multi' => true, + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => array( '2', '3' ) + ), + array( + 'id' => 'opt-info-field', + 'type' => 'info', + 'desc' => __( 'This is the info field, if you want to break sections up.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-warning', + 'type' => 'info', + 'style' => 'warning', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the warning style applied and a header.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-success', + 'type' => 'info', + 'style' => 'success', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the success style applied, a header and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-critical', + 'type' => 'info', + 'style' => 'critical', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the critical style applied, a header and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-raw_info', + 'type' => 'info', + 'required' => array( '18', 'equals', array( '1', '2' ) ), + 'raw_html' => true, + 'desc' => $sampleHTML, + ), + array( + 'id' => 'opt-info-normal', + 'type' => 'info', + 'notice' => true, + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info notice field with the normal style applied, a header and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-info', + 'type' => 'info', + 'notice' => true, + 'style' => 'info', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info notice field with the info style applied, a header and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-warning', + 'type' => 'info', + 'notice' => true, + 'style' => 'warning', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info notice field with the warning style applied, a header and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-success', + 'type' => 'info', + 'notice' => true, + 'style' => 'success', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info notice field with the success style applied, a header and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-critical', + 'type' => 'info', + 'notice' => true, + 'style' => 'critical', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an notice field with the critical style applied, a header and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-custom-callback', + 'type' => 'callback', + 'title' => __( 'Custom Field Callback', 'redux-framework-demo' ), + 'subtitle' => __( 'This is a completely unique field type', 'redux-framework-demo' ), + 'desc' => __( 'This is created with a callback function, so anything goes in this field. Make sure to define the function though.', 'redux-framework-demo' ), + 'callback' => 'redux_my_custom_field' + ), + array( + 'id' => 'opt-custom-callback-class', + 'type' => 'callback', + 'title' => __( 'Custom Field Callback - Class', 'redux-framework-demo' ), + 'subtitle' => __( 'This is a completely unique field type', 'redux-framework-demo' ), + 'desc' => __( 'This is created with a callback function, so anything goes in this field. Make sure to define the function though.', 'redux-framework-demo' ), + //'callback' => array( $this, 'class_field_callback' ) // Can use the current class object + 'callback' => array( 'Redux_Framework_sample_config', 'class_field_callback' ) + // Can use just class name + ), + array( + 'id' => 'opt-customizer-only-in-section', + 'type' => 'select', + 'title' => __( 'Customizer Only Option', 'redux-framework-demo' ), + 'subtitle' => __( 'The subtitle is NOT visible in customizer', 'redux-framework-demo' ), + 'desc' => __( 'The field desc is NOT visible in customizer.', 'redux-framework-demo' ), + 'customizer_only' => true, + //Must provide key => value pairs for select options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => '2' + ), + ) + ); + + $this->sections[] = array( + 'icon' => 'el el-list-alt', + 'title' => __( 'Customizer Only', 'redux-framework-demo' ), + 'desc' => __( '

    This Section should be visible only in Customizer

    ', 'redux-framework-demo' ), + 'customizer_only' => true, + 'fields' => array( + array( + 'id' => 'opt-customizer-only', + 'type' => 'select', + 'title' => __( 'Customizer Only Option', 'redux-framework-demo' ), + 'subtitle' => __( 'The subtitle is NOT visible in customizer', 'redux-framework-demo' ), + 'desc' => __( 'The field desc is NOT visible in customizer.', 'redux-framework-demo' ), + 'customizer_only' => true, + //Must provide key => value pairs for select options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => '2' + ), + ) + ); + + $this->sections[] = array( + 'title' => __( 'WPML Example', 'redux-framework-demo' ), + 'desc' => __( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement. For extra details look at our WPML Implementation documentation.', 'redux-framework-demo' ), + 'icon' => 'el el-home', + // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! + 'fields' => array( + array( + 'id' => 'wpml-text', + 'type' => 'textarea', + 'title' => __( 'WPML Text', 'redux-framework-demo' ), + 'desc' => __( 'This string can be translated via WPML.', 'redux-framework-demo' ), + ), + array( + 'id' => 'wpml-multicheck', + 'type' => 'checkbox', + 'title' => __( 'WPML Multi Checkbox', 'redux-framework-demo' ), + 'desc' => __( 'You can literally translate the values via key.', 'redux-framework-demo' ), + //Must provide key => value pairs for multi checkbox options + 'options' => array( + '1' => 'Option 1', + '2' => 'Option 2', + '3' => 'Option 3' + ), + ), + ) + ); + + $this->sections[] = array( + 'title' => __( 'Import / Export', 'redux-framework-demo' ), + 'desc' => __( 'Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework-demo' ), + 'icon' => 'el el-refresh', + 'fields' => array( + array( + 'id' => 'opt-import-export', + 'type' => 'import_export', + 'title' => 'Import Export', + 'subtitle' => 'Save and restore your Redux options', + 'full_width' => false, + ), + ), + ); + + $this->sections[] = array( + 'type' => 'divide', + ); + + $this->sections[] = array( + 'icon' => 'el el-info-circle', + 'title' => __( 'Theme Information', 'redux-framework-demo' ), + 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => 'opt-raw-info', + 'type' => 'raw', + 'content' => $item_info, + ) + ), + ); + + if ( file_exists( trailingslashit( dirname( __FILE__ ) ) . 'README.html' ) ) { + $tabs['docs'] = array( + 'icon' => 'el el-book', + 'title' => __( 'Documentation', 'redux-framework-demo' ), + 'content' => nl2br( file_get_contents( trailingslashit( dirname( __FILE__ ) ) . 'README.html' ) ) + ); + } + } + + public function setHelpTabs() { + + // Custom page help tabs, displayed using the help API. Tabs are shown in order of definition. + $this->args['help_tabs'][] = array( + 'id' => 'redux-help-tab-1', + 'title' => __( 'Theme Information 1', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ); + + $this->args['help_tabs'][] = array( + 'id' => 'redux-help-tab-2', + 'title' => __( 'Theme Information 2', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ); + + // Set the help sidebar + $this->args['help_sidebar'] = __( '

    This is the sidebar content, HTML is allowed.

    ', 'redux-framework-demo' ); + } + + /** + * All the possible arguments for Redux. + * For full documentation on arguments, please refer to: https://github.com/ReduxFramework/ReduxFramework/wiki/Arguments + * */ + public function setArguments() { + + $theme = wp_get_theme(); // For use with some settings. Not necessary. + + $this->args = array( + // TYPICAL -> Change these values as you need/desire + 'opt_name' => 'redux_demo', + // This is where your data is stored in the database and also becomes your global variable name. + 'display_name' => $theme->get( 'Name' ), + // Name that appears at the top of your panel + 'display_version' => $theme->get( 'Version' ), + // Version that appears at the top of your panel + 'menu_type' => 'menu', + //Specify if the admin menu should appear or not. Options: menu or submenu (Under appearance only) + 'allow_sub_menu' => true, + // Show the sections below the admin menu item or not + 'menu_title' => __( 'Sample Options', 'redux-framework-demo' ), + 'page_title' => __( 'Sample Options', 'redux-framework-demo' ), + // You will need to generate a Google API key to use this feature. + // Please visit: https://developers.google.com/fonts/docs/developer_api#Auth + 'google_api_key' => '', + // Set it you want google fonts to update weekly. A google_api_key value is required. + 'google_update_weekly' => false, + // Must be defined to add google fonts to the typography module + 'async_typography' => true, + // Use a asynchronous font on the front end or font string + //'disable_google_fonts_link' => true, // Disable this in case you want to create your own google fonts loader + 'admin_bar' => true, + // Show the panel pages on the admin bar + 'admin_bar_icon' => 'dashicons-portfolio', + // Choose an icon for the admin bar menu + 'admin_bar_priority' => 50, + // Choose an priority for the admin bar menu + 'global_variable' => '', + // Set a different name for your global variable other than the opt_name + 'dev_mode' => true, + // Show the time the page took to load, etc + 'update_notice' => true, + // If dev_mode is enabled, will notify developer of updated versions available in the GitHub Repo + 'customizer' => true, + // Enable basic customizer support + //'open_expanded' => true, // Allow you to start the panel in an expanded way initially. + //'disable_save_warn' => true, // Disable the save warning when a user changes a field + + // OPTIONAL -> Give you extra features + 'page_priority' => null, + // Order where the menu appears in the admin area. If there is any conflict, something will not show. Warning. + 'page_parent' => 'themes.php', + // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters + 'page_permissions' => 'manage_options', + // Permissions needed to access the options panel. + 'menu_icon' => '', + // Specify a custom URL to an icon + 'last_tab' => '', + // Force your panel to always open to a specific tab (by id) + 'page_icon' => 'icon-themes', + // Icon displayed in the admin panel next to your menu_title + 'page_slug' => '', + // Page slug used to denote the panel, will be based off page title then menu title then opt_name if not provided + 'save_defaults' => true, + // On load save the defaults to DB before user clicks save or not + 'default_show' => false, + // If true, shows the default value next to each field that is not the default value. + 'default_mark' => '', + // What to print by the field's title if the value shown is default. Suggested: * + 'show_import_export' => true, + // Shows the Import/Export panel when not used as a field. + + // CAREFUL -> These options are for advanced use only + 'transient_time' => 60 * MINUTE_IN_SECONDS, + 'output' => true, + // Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output + 'output_tag' => true, + // Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head + // 'footer_credit' => '', // Disable the footer credit of Redux. Please leave if you can help it. + + // FUTURE -> Not in use yet, but reserved or partially implemented. Use at your own risk. + 'database' => '', + // possible: options, theme_mods, theme_mods_expanded, transient. Not fully functional, warning! + 'system_info' => false, + // REMOVE + + // HINTS + 'hints' => array( + 'icon' => 'el el-question-sign', + 'icon_position' => 'right', + 'icon_color' => 'lightgray', + 'icon_size' => 'normal', + 'tip_style' => array( + 'color' => 'light', + 'shadow' => true, + 'rounded' => false, + 'style' => '', + ), + 'tip_position' => array( + 'my' => 'top left', + 'at' => 'bottom right', + ), + 'tip_effect' => array( + 'show' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'mouseover', + ), + 'hide' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'click mouseleave', + ), + ), + ) + ); + + // ADMIN BAR LINKS -> Setup custom links in the admin bar menu as external items. + $this->args['admin_bar_links'][] = array( + 'id' => 'redux-docs', + 'href' => 'http://docs.reduxframework.com/', + 'title' => __( 'Documentation', 'redux-framework-demo' ), + ); + + $this->args['admin_bar_links'][] = array( + //'id' => 'redux-support', + 'href' => 'https://github.com/ReduxFramework/redux-framework/issues', + 'title' => __( 'Support', 'redux-framework-demo' ), + ); + + $this->args['admin_bar_links'][] = array( + 'id' => 'redux-extensions', + 'href' => 'reduxframework.com/extensions', + 'title' => __( 'Extensions', 'redux-framework-demo' ), + ); + + // SOCIAL ICONS -> Setup custom links in the footer for quick links in your panel footer icons. + $this->args['share_icons'][] = array( + 'url' => 'https://github.com/ReduxFramework/ReduxFramework', + 'title' => 'Visit us on GitHub', + 'icon' => 'el el-github' + //'img' => '', // You can use icon OR img. IMG needs to be a full URL. + ); + $this->args['share_icons'][] = array( + 'url' => 'https://www.facebook.com/pages/Redux-Framework/243141545850368', + 'title' => 'Like us on Facebook', + 'icon' => 'el el-facebook' + ); + $this->args['share_icons'][] = array( + 'url' => 'http://twitter.com/reduxframework', + 'title' => 'Follow us on Twitter', + 'icon' => 'el el-twitter' + ); + $this->args['share_icons'][] = array( + 'url' => 'http://www.linkedin.com/company/redux-framework', + 'title' => 'Find us on LinkedIn', + 'icon' => 'el el-linkedin' + ); + + // Panel Intro text -> before the form + if ( ! isset( $this->args['global_variable'] ) || $this->args['global_variable'] !== false ) { + if ( ! empty( $this->args['global_variable'] ) ) { + $v = $this->args['global_variable']; + } else { + $v = str_replace( '-', '_', $this->args['opt_name'] ); + } + $this->args['intro_text'] = sprintf( __( '

    Did you know that Redux sets a global variable for you? To access any of your saved options from within your code you can use your global variable: $%1$s

    ', 'redux-framework-demo' ), $v ); + } else { + $this->args['intro_text'] = __( '

    This text is displayed above the options panel. It isn\'t required, but more info is always better! The intro_text field accepts all HTML.

    ', 'redux-framework-demo' ); + } + + // Add content after the form. + $this->args['footer_text'] = __( '

    This text is displayed below the options panel. It isn\'t required, but more info is always better! The footer_text field accepts all HTML.

    ', 'redux-framework-demo' ); + } + + public function validate_callback_function( $field, $value, $existing_value ) { + $error = true; + $value = 'just testing'; + + /* + do your validation + + if(something) { + $value = $value; + } elseif(something else) { + $error = true; + $value = $existing_value; + + } + */ + + $return['value'] = $value; + $field['msg'] = 'your custom error message'; + if ( $error == true ) { + $return['error'] = $field; + } + + return $return; + } + + public static function class_field_callback( $field, $value ) { + print_r( $field ); + echo '
    CLASS CALLBACK'; + print_r( $value ); + } + + } + + global $reduxConfig; + $reduxConfig = new Redux_Framework_sample_config(); + } else { + echo "The class named Redux_Framework_sample_config has already been called. Developers, you need to prefix this class with your company name or you'll run into problems!"; + } + + /** + * Custom function for the callback referenced above + */ + if ( ! function_exists( 'redux_my_custom_field' ) ): + function redux_my_custom_field( $field, $value ) { + print_r( $field ); + echo '
    '; + print_r( $value ); + } + endif; + + /** + * Custom function for the callback validation referenced above + * */ + if ( ! function_exists( 'redux_validate_callback_function' ) ): + function redux_validate_callback_function( $field, $value, $existing_value ) { + $error = true; + $value = 'just testing'; + + /* + do your validation + + if(something) { + $value = $value; + } elseif(something else) { + $error = true; + $value = $existing_value; + + } + */ + + $return['value'] = $value; + $field['msg'] = 'your custom error message'; + if ( $error == true ) { + $return['error'] = $field; + } + + $return['warning'] = $field; + + return $return; + } + endif; \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/sample/sample-config.php b/admin/core/lib/ReduxFramework/sample/sample-config.php index 900a825f..1d44a452 100644 --- a/admin/core/lib/ReduxFramework/sample/sample-config.php +++ b/admin/core/lib/ReduxFramework/sample/sample-config.php @@ -4,1899 +4,2359 @@ * For full documentation, please visit: http://docs.reduxframework.com/ */ - if ( ! class_exists( 'Redux_Framework_sample_config' ) ) { + if ( ! class_exists( 'Redux' ) ) { + return; + } - class Redux_Framework_sample_config { - public $args = array(); - public $sections = array(); - public $theme; - public $ReduxFramework; + // This is your option name where all the Redux data is stored. + $opt_name = "redux_demo"; - public function __construct() { - if ( ! class_exists( 'ReduxFramework' ) ) { - return; - } + /* + * + * --> Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples + * + */ - // This is needed. Bah WordPress bugs. ;) - if ( true == Redux_Helpers::isTheme( __FILE__ ) ) { - $this->initSettings(); - } else { - add_action( 'plugins_loaded', array( $this, 'initSettings' ), 10 ); - } + $sampleHTML = ''; + if ( file_exists( dirname( __FILE__ ) . '/info-html.html' ) ) { + Redux_Functions::initWpFilesystem(); - } + global $wp_filesystem; - public function initSettings() { + $sampleHTML = $wp_filesystem->get_contents( dirname( __FILE__ ) . '/info-html.html' ); + } - // Just for demo purposes. Not needed per say. - $this->theme = wp_get_theme(); + // Background Patterns Reader + $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/'; + $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/'; + $sample_patterns = array(); - // Set the default arguments - $this->setArguments(); + if ( is_dir( $sample_patterns_path ) ) { - // Set a few help tabs so you can see how it's done - $this->setHelpTabs(); + if ( $sample_patterns_dir = opendir( $sample_patterns_path ) ) { + $sample_patterns = array(); - // Create the sections and fields - $this->setSections(); + while ( ( $sample_patterns_file = readdir( $sample_patterns_dir ) ) !== false ) { - if ( ! isset( $this->args['opt_name'] ) ) { // No errors please - return; - } - - // If Redux is running as a plugin, this will remove the demo notice and links - //add_action( 'redux/loaded', array( $this, 'remove_demo' ) ); - - // Function to test the compiler hook and demo CSS output. - // Above 10 is a priority, but 2 in necessary to include the dynamically generated CSS to be sent to the function. - //add_filter('redux/options/'.$this->args['opt_name'].'/compiler', array( $this, 'compiler_action' ), 10, 3); - - // Change the arguments after they've been declared, but before the panel is created - //add_filter('redux/options/'.$this->args['opt_name'].'/args', array( $this, 'change_arguments' ) ); - - // Change the default value of a field after it's been set, but before it's been useds - //add_filter('redux/options/'.$this->args['opt_name'].'/defaults', array( $this,'change_defaults' ) ); - - // Dynamically add a section. Can be also used to modify sections/fields - //add_filter('redux/options/' . $this->args['opt_name'] . '/sections', array($this, 'dynamic_section')); - - $this->ReduxFramework = new ReduxFramework( $this->sections, $this->args ); - } - - /** - * This is a test function that will let you see when the compiler hook occurs. - * It only runs if a field set with compiler=>true is changed. - * */ - function compiler_action( $options, $css, $changed_values ) { - echo '

    The compiler hook has run!

    '; - echo "
    ";
    -                print_r( $changed_values ); // Values that have changed since the last save
    -                echo "
    "; - //print_r($options); //Option values - //print_r($css); // Compiler selector CSS values compiler => array( CSS SELECTORS ) - - /* - // Demo of how to use the dynamic CSS and write your own static CSS file - $filename = dirname(__FILE__) . '/style' . '.css'; - global $wp_filesystem; - if( empty( $wp_filesystem ) ) { - require_once( ABSPATH .'/wp-admin/includes/file.php' ); - WP_Filesystem(); - } - - if( $wp_filesystem ) { - $wp_filesystem->put_contents( - $filename, - $css, - FS_CHMOD_FILE // predefined mode settings for WP files - ); - } - */ - } - - /** - * Custom function for filtering the sections array. Good for child themes to override or add to the sections. - * Simply include this function in the child themes functions.php file. - * NOTE: the defined constants for URLs, and directories will NOT be available at this point in a child theme, - * so you must use get_template_directory_uri() if you want to use any of the built in icons - * */ - function dynamic_section( $sections ) { - //$sections = array(); - $sections[] = array( - 'title' => __( 'Section via hook', 'redux-framework-demo' ), - 'desc' => __( '

    This is a section created by adding a filter to the sections array. Can be used by child themes to add/remove sections from the options.

    ', 'redux-framework-demo' ), - 'icon' => 'el-icon-paper-clip', - // Leave this as a blank section, no options just some intro text set above. - 'fields' => array() - ); - - return $sections; - } - - /** - * Filter hook for filtering the args. Good for child themes to override or add to the args array. Can also be used in other functions. - * */ - function change_arguments( $args ) { - //$args['dev_mode'] = true; - - return $args; - } - - /** - * Filter hook for filtering the default value of any given field. Very useful in development mode. - * */ - function change_defaults( $defaults ) { - $defaults['str_replace'] = 'Testing filter hook!'; - - return $defaults; - } - - // Remove the demo link and the notice of integrated demo from the redux-framework plugin - function remove_demo() { - - // Used to hide the demo mode link from the plugin page. Only used when Redux is a plugin. - if ( class_exists( 'ReduxFrameworkPlugin' ) ) { - remove_filter( 'plugin_row_meta', array( - ReduxFrameworkPlugin::instance(), - 'plugin_metalinks' - ), null, 2 ); - - // Used to hide the activation notice informing users of the demo panel. Only used when Redux is a plugin. - remove_action( 'admin_notices', array( ReduxFrameworkPlugin::instance(), 'admin_notices' ) ); - } - } - - public function setSections() { - - /** - * Used within different fields. Simply examples. Search for ACTUAL DECLARATION for field examples - * */ - // Background Patterns Reader - $sample_patterns_path = ReduxFramework::$_dir . '../sample/patterns/'; - $sample_patterns_url = ReduxFramework::$_url . '../sample/patterns/'; - $sample_patterns = array(); - - if ( is_dir( $sample_patterns_path ) ) : - - if ( $sample_patterns_dir = opendir( $sample_patterns_path ) ) : - $sample_patterns = array(); - - while ( ( $sample_patterns_file = readdir( $sample_patterns_dir ) ) !== false ) { - - if ( stristr( $sample_patterns_file, '.png' ) !== false || stristr( $sample_patterns_file, '.jpg' ) !== false ) { - $name = explode( '.', $sample_patterns_file ); - $name = str_replace( '.' . end( $name ), '', $sample_patterns_file ); - $sample_patterns[] = array( - 'alt' => $name, - 'img' => $sample_patterns_url . $sample_patterns_file - ); - } - } - endif; - endif; - - ob_start(); - - $ct = wp_get_theme(); - $this->theme = $ct; - $item_name = $this->theme->get( 'Name' ); - $tags = $this->theme->Tags; - $screenshot = $this->theme->get_screenshot(); - $class = $screenshot ? 'has-screenshot' : ''; - - $customize_title = sprintf( __( 'Customize “%s”', 'redux-framework-demo' ), $this->theme->display( 'Name' ) ); - - ?> -
    - - - - <?php esc_attr_e( 'Current theme preview', 'redux-framework-demo' ); ?> - - - <?php esc_attr_e( 'Current theme preview', 'redux-framework-demo' ); ?> - - -

    theme->display( 'Name' ); ?>

    - -
    -
      -
    • theme->display( 'Author' ) ); ?>
    • -
    • theme->display( 'Version' ) ); ?>
    • -
    • ' . __( 'Tags', 'redux-framework-demo' ) . ': '; ?>theme->display( 'Tags' ) ); ?>
    • -
    -

    theme->display( 'Description' ); ?>

    - theme->parent() ) { - printf( '

    ' . __( 'This child theme requires its parent theme, %2$s.', 'redux-framework-demo' ) . '

    ', __( 'http://codex.wordpress.org/Child_Themes', 'redux-framework-demo' ), $this->theme->parent()->display( 'Name' ) ); - } - ?> - -
    -
    - - get_contents( dirname( __FILE__ ) . '/info-html.html' ); - } - - // ACTUAL DECLARATION OF SECTIONS - $this->sections[] = array( - 'title' => __( 'Home Settings', 'redux-framework-demo' ), - 'desc' => __( 'Redux Framework was created with the developer in mind. It allows for any theme developer to have an advanced theme panel with most of the features a developer would need. For more information check out the Github repo at: https://github.com/ReduxFramework/Redux-Framework', 'redux-framework-demo' ), - 'icon' => 'el-icon-home', - // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! - 'fields' => array( - - array( - 'id' => 'opt-web-fonts', - 'type' => 'media', - 'title' => __( 'Web Fonts', 'redux-framework-demo' ), - 'compiler' => 'true', - 'mode' => false, - // Can be set to false to allow any media type, or can also be set to any mime type. - 'desc' => __( 'Basic media uploader with disabled URL input field.', 'redux-framework-demo' ), - 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), - 'hint' => array( - //'title' => '', - 'content' => 'This is a hint tool-tip for the webFonts field.

    Add any HTML based text you like here.', - ) - ), - array( - 'id' => 'section-media-checkbox', - 'type' => 'switch', - 'title' => __( 'Section Show', 'redux-framework-demo' ), - 'subtitle' => __( 'With the "section" field you can create indent option sections.', 'redux-framework-demo' ), - - ), - array( - 'id' => 'section-media-start', - 'type' => 'section', - 'title' => __( 'Media Options', 'redux-framework-demo' ), - 'subtitle' => __( 'With the "section" field you can create indent option sections.', 'redux-framework-demo' ), - 'indent' => true, // Indent all options below until the next 'section' option is set. - 'required' => array( 'section-media-checkbox', "=", 1 ), - ), - array( - 'id' => 'opt-media', - 'type' => 'media', - 'url' => true, - 'title' => __( 'Media w/ URL', 'redux-framework-demo' ), - 'compiler' => 'true', - //'mode' => false, // Can be set to false to allow any media type, or can also be set to any mime type. - 'desc' => __( 'Basic media uploader with disabled URL input field.', 'redux-framework-demo' ), - 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), - 'default' => array( 'url' => 'http://s.wordpress.org/style/images/codeispoetry.png' ), - //'hint' => array( - // 'title' => 'Hint Title', - // 'content' => 'This is a hint for the media field with a Title.', - //) - ), - array( - 'id' => 'section-media-end', - 'type' => 'section', - 'indent' => false, // Indent all options below until the next 'section' option is set. - 'required' => array( 'section-media-checkbox', "=", 1 ), - ), - array( - 'id' => 'media-no-url', - 'type' => 'media', - 'title' => __( 'Media w/o URL', 'redux-framework-demo' ), - 'desc' => __( 'This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo' ), - 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), - ), - array( - 'id' => 'media-no-preview', - 'type' => 'media', - 'preview' => false, - 'title' => __( 'Media No Preview', 'redux-framework-demo' ), - 'desc' => __( 'This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo' ), - 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-gallery', - 'type' => 'gallery', - 'title' => __( 'Add/Edit Gallery', 'redux-framework-demo' ), - 'subtitle' => __( 'Create a new Gallery by selecting existing or uploading new images using the WordPress native uploader', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-slider-label', - 'type' => 'slider', - 'title' => __( 'Slider Example 1', 'redux-framework-demo' ), - 'subtitle' => __( 'This slider displays the value as a label.', 'redux-framework-demo' ), - 'desc' => __( 'Slider description. Min: 1, max: 500, step: 1, default value: 250', 'redux-framework-demo' ), - 'default' => 250, - 'min' => 1, - 'step' => 1, - 'max' => 500, - 'display_value' => 'label' - ), - array( - 'id' => 'opt-slider-text', - 'type' => 'slider', - 'title' => __( 'Slider Example 2 with Steps (5)', 'redux-framework-demo' ), - 'subtitle' => __( 'This example displays the value in a text box', 'redux-framework-demo' ), - 'desc' => __( 'Slider description. Min: 0, max: 300, step: 5, default value: 75', 'redux-framework-demo' ), - 'default' => 75, - 'min' => 0, - 'step' => 5, - 'max' => 300, - 'display_value' => 'text' - ), - array( - 'id' => 'opt-slider-select', - 'type' => 'slider', - 'title' => __( 'Slider Example 3 with two sliders', 'redux-framework-demo' ), - 'subtitle' => __( 'This example displays the values in select boxes', 'redux-framework-demo' ), - 'desc' => __( 'Slider description. Min: 0, max: 500, step: 5, slider 1 default value: 100, slider 2 default value: 300', 'redux-framework-demo' ), - 'default' => array( - 1 => 100, - 2 => 300, - ), - 'min' => 0, - 'step' => 5, - 'max' => '500', - 'display_value' => 'select', - 'handles' => 2, - ), - array( - 'id' => 'opt-slider-float', - 'type' => 'slider', - 'title' => __( 'Slider Example 4 with float values', 'redux-framework-demo' ), - 'subtitle' => __( 'This example displays float values', 'redux-framework-demo' ), - 'desc' => __( 'Slider description. Min: 0, max: 1, step: .1, default value: .5', 'redux-framework-demo' ), - 'default' => .5, - 'min' => 0, - 'step' => .1, - 'max' => 1, - 'resolution' => 0.1, - 'display_value' => 'text' - ), - array( - 'id' => 'opt-spinner', - 'type' => 'spinner', - 'title' => __( 'JQuery UI Spinner Example 1', 'redux-framework-demo' ), - 'desc' => __( 'JQuery UI spinner description. Min:20, max: 100, step:20, default value: 40', 'redux-framework-demo' ), - 'default' => '40', - 'min' => '20', - 'step' => '20', - 'max' => '100', - ), - array( - 'id' => 'switch-on', - 'type' => 'switch', - 'title' => __( 'Switch On', 'redux-framework-demo' ), - 'subtitle' => __( 'Look, it\'s on!', 'redux-framework-demo' ), - 'default' => true, - ), - array( - 'id' => 'switch-off', - 'type' => 'switch', - 'title' => __( 'Switch Off', 'redux-framework-demo' ), - 'subtitle' => __( 'Look, it\'s on!', 'redux-framework-demo' ), - //'options' => array('on', 'off'), - 'default' => false, - ), - array( - 'id' => 'switch-parent', - 'type' => 'switch', - 'title' => __( 'Switch - Nested Children, Enable to show', 'redux-framework-demo' ), - 'subtitle' => __( 'Look, it\'s on! Also hidden child elements!', 'redux-framework-demo' ), - 'default' => 0, - 'on' => 'Enabled', - 'off' => 'Disabled', - ), - array( - 'id' => 'switch-child1', - 'type' => 'switch', - 'required' => array( 'switch-parent', '=', '1' ), - 'title' => __( 'Switch - This and the next switch required for patterns to show', 'redux-framework-demo' ), - 'subtitle' => __( 'Also called a "fold" parent.', 'redux-framework-demo' ), - 'desc' => __( 'Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo' ), - 'default' => false, - ), - array( - 'id' => 'switch-child2', - 'type' => 'switch', - 'required' => array( 'switch-parent', '=', '1' ), - 'title' => __( 'Switch2 - Enable the above switch and this one for patterns to show', 'redux-framework-demo' ), - 'subtitle' => __( 'Also called a "fold" parent.', 'redux-framework-demo' ), - 'desc' => __( 'Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo' ), - 'default' => false, - ), - array( - 'id' => 'opt-patterns', - 'type' => 'image_select', - 'tiles' => true, - 'required' => array( - array( 'switch-child1', 'equals', 1 ), - array( 'switch-child2', 'equals', 1 ), - ), - 'title' => __( 'Images Option (with pattern=>true)', 'redux-framework-demo' ), - 'subtitle' => __( 'Select a background pattern.', 'redux-framework-demo' ), - 'default' => 0, - 'options' => $sample_patterns - , - ), - array( - 'id' => 'opt-homepage-layout', - 'type' => 'sorter', - 'title' => 'Layout Manager Advanced', - 'subtitle' => 'You can add multiple drop areas or columns.', - 'compiler' => 'true', - 'options' => array( - 'enabled' => array( - 'highlights' => 'Highlights', - 'slider' => 'Slider', - 'staticpage' => 'Static Page', - 'services' => 'Services' - ), - 'disabled' => array(), - 'backup' => array(), - ), - 'limits' => array( - 'disabled' => 1, - 'backup' => 2, - ), - ), - array( - 'id' => 'opt-homepage-layout-2', - 'type' => 'sorter', - 'title' => 'Homepage Layout Manager', - 'desc' => 'Organize how you want the layout to appear on the homepage', - 'compiler' => 'true', - 'options' => array( - 'disabled' => array( - 'highlights' => 'Highlights', - 'slider' => 'Slider', - ), - 'enabled' => array( - 'staticpage' => 'Static Page', - 'services' => 'Services' - ), - ), - ), - array( - 'id' => 'opt-slides', - 'type' => 'slides', - 'title' => __( 'Slides Options', 'redux-framework-demo' ), - 'subtitle' => __( 'Unlimited slides with drag and drop sortings.', 'redux-framework-demo' ), - 'desc' => __( 'This field will store all slides values into a multidimensional array to use into a foreach loop.', 'redux-framework-demo' ), - 'placeholder' => array( - 'title' => __( 'This is a title', 'redux-framework-demo' ), - 'description' => __( 'Description Here', 'redux-framework-demo' ), - 'url' => __( 'Give us a link!', 'redux-framework-demo' ), - ), - ), - array( - 'id' => 'opt-presets', - 'type' => 'image_select', - 'presets' => true, - 'title' => __( 'Preset', 'redux-framework-demo' ), - 'subtitle' => __( 'This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo' ), - 'default' => 0, - 'desc' => __( 'This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo' ), - 'options' => array( - '1' => array( - 'alt' => 'Preset 1', - 'img' => ReduxFramework::$_url . '../sample/presets/preset1.png', - 'presets' => array( - 'switch-on' => 1, - 'switch-off' => 1, - 'switch-parent' => 1 - ) - ), - '2' => array( - 'alt' => 'Preset 2', - 'img' => ReduxFramework::$_url . '../sample/presets/preset2.png', - 'presets' => '{"opt-slider-label":"1", "opt-slider-text":"10"}' - ), - ), - ), - array( - 'id' => 'opt-typography', - 'type' => 'typography', - 'title' => __( 'Typography', 'redux-framework-demo' ), - //'compiler' => true, // Use if you want to hook in your own CSS compiler - 'google' => true, - // Disable google fonts. Won't work if you haven't defined your google api key - 'font-backup' => true, - // Select a backup non-google font in addition to a google font - //'font-style' => false, // Includes font-style and weight. Can use font-style or font-weight to declare - //'subsets' => false, // Only appears if google is true and subsets not set to false - //'font-size' => false, - //'line-height' => false, - //'word-spacing' => true, // Defaults to false - //'letter-spacing'=> true, // Defaults to false - //'color' => false, - //'preview' => false, // Disable the previewer - 'all_styles' => true, - // Enable all Google Font style/weight variations to be added to the page - 'output' => array( 'h2.site-description, .entry-title' ), - // An array of CSS selectors to apply this font style to dynamically - 'compiler' => array( 'h2.site-description-compiler' ), - // An array of CSS selectors to apply this font style to dynamically - 'units' => 'px', - // Defaults to px - 'subtitle' => __( 'Typography option with each property can be called individually.', 'redux-framework-demo' ), - 'default' => array( - 'color' => '#333', - 'font-style' => '700', - 'font-family' => 'Abel', - 'google' => true, - 'font-size' => '33px', - 'line-height' => '40px' - ), - ), - ), - ); - - $this->sections[] = array( - 'type' => 'divide', - ); - - $this->sections[] = array( - 'icon' => 'el-icon-cogs', - 'title' => __( 'General Settings', 'redux-framework-demo' ), - 'fields' => array( - array( - 'id' => 'opt-layout', - 'type' => 'image_select', - 'compiler' => true, - 'title' => __( 'Main Layout', 'redux-framework-demo' ), - 'subtitle' => __( 'Select main content and sidebar alignment. Choose between 1, 2 or 3 column layout.', 'redux-framework-demo' ), - 'options' => array( - '1' => array( - 'alt' => '1 Column', - 'img' => ReduxFramework::$_url . 'assets/img/1col.png' - ), - '2' => array( - 'alt' => '2 Column Left', - 'img' => ReduxFramework::$_url . 'assets/img/2cl.png' - ), - '3' => array( - 'alt' => '2 Column Right', - 'img' => ReduxFramework::$_url . 'assets/img/2cr.png' - ), - '4' => array( - 'alt' => '3 Column Middle', - 'img' => ReduxFramework::$_url . 'assets/img/3cm.png' - ), - '5' => array( - 'alt' => '3 Column Left', - 'img' => ReduxFramework::$_url . 'assets/img/3cl.png' - ), - '6' => array( - 'alt' => '3 Column Right', - 'img' => ReduxFramework::$_url . 'assets/img/3cr.png' - ) - ), - 'default' => '2' - ), - array( - 'id' => 'opt-textarea', - 'type' => 'textarea', - 'required' => array( 'layout', 'equals', '1' ), - 'title' => __( 'Tracking Code', 'redux-framework-demo' ), - 'subtitle' => __( 'Paste your Google Analytics (or other) tracking code here. This will be added into the footer template of your theme.', 'redux-framework-demo' ), - 'validate' => 'js', - 'desc' => 'Validate that it\'s javascript!', - ), - array( - 'id' => 'opt-ace-editor-css', - 'type' => 'ace_editor', - 'title' => __( 'CSS Code', 'redux-framework-demo' ), - 'subtitle' => __( 'Paste your CSS code here.', 'redux-framework-demo' ), - 'mode' => 'css', - 'theme' => 'monokai', - 'desc' => 'Possible modes can be found at http://ace.c9.io/.', - 'default' => "#header{\nmargin: 0 auto;\n}" - ), - /* - array( - 'id' => 'opt-ace-editor-js', - 'type' => 'ace_editor', - 'title' => __('JS Code', 'redux-framework-demo'), - 'subtitle' => __('Paste your JS code here.', 'redux-framework-demo'), - 'mode' => 'javascript', - 'theme' => 'chrome', - 'desc' => 'Possible modes can be found at http://ace.c9.io/.', - 'default' => "jQuery(document).ready(function(){\n\n});" - ), - array( - 'id' => 'opt-ace-editor-php', - 'type' => 'ace_editor', - 'title' => __('PHP Code', 'redux-framework-demo'), - 'subtitle' => __('Paste your PHP code here.', 'redux-framework-demo'), - 'mode' => 'php', - 'theme' => 'chrome', - 'desc' => 'Possible modes can be found at http://ace.c9.io/.', - 'default' => '' - ), - */ - array( - 'id' => 'opt-editor', - 'type' => 'editor', - 'title' => __( 'Footer Text', 'redux-framework-demo' ), - 'subtitle' => __( 'You can use the following shortcodes in your footer text: [wp-url] [site-url] [theme-url] [login-url] [logout-url] [site-title] [site-tagline] [current-year]', 'redux-framework-demo' ), - 'default' => 'Powered by Redux Framework.', - ), - array( - 'id' => 'password', - 'type' => 'password', - 'username' => true, - 'title' => 'SMTP Account', - //'placeholder' => array('username' => 'Enter your Username') - ) - ) - ); - - $this->sections[] = array( - 'icon' => 'el-icon-website', - 'title' => __( 'Styling Options', 'redux-framework-demo' ), - 'subsection' => true, - 'fields' => array( - array( - 'id' => 'opt-select-stylesheet', - 'type' => 'select', - 'title' => __( 'Theme Stylesheet', 'redux-framework-demo' ), - 'subtitle' => __( 'Select your themes alternative color scheme.', 'redux-framework-demo' ), - 'options' => array( 'default.css' => 'default.css', 'color1.css' => 'color1.css' ), - 'default' => 'default.css', - ), - array( - 'id' => 'opt-color-background', - 'type' => 'color', - 'output' => array( '.site-title' ), - 'title' => __( 'Body Background Color', 'redux-framework-demo' ), - 'subtitle' => __( 'Pick a background color for the theme (default: #fff).', 'redux-framework-demo' ), - 'default' => '#FFFFFF', - 'validate' => 'color', - ), - array( - 'id' => 'opt-background', - 'type' => 'background', - 'output' => array( 'body' ), - 'title' => __( 'Body Background', 'redux-framework-demo' ), - 'subtitle' => __( 'Body background with image, color, etc.', 'redux-framework-demo' ), - //'default' => '#FFFFFF', - ), - array( - 'id' => 'opt-color-footer', - 'type' => 'color', - 'title' => __( 'Footer Background Color', 'redux-framework-demo' ), - 'subtitle' => __( 'Pick a background color for the footer (default: #dd9933).', 'redux-framework-demo' ), - 'default' => '#dd9933', - 'validate' => 'color', - ), - array( - 'id' => 'opt-color-rgba', - 'type' => 'color_rgba', - 'title' => __( 'Color RGBA', 'redux-framework-demo' ), - 'subtitle' => __( 'Gives you the RGBA color.', 'redux-framework-demo' ), - 'default' => array( - 'color' => '#7e33dd', - 'alpha' => '.8' - ), - 'output' => array( 'body' ), - 'mode' => 'background', - 'validate' => 'colorrgba', - ), - array( - 'id' => 'opt-color-header', - 'type' => 'color_gradient', - 'title' => __( 'Header Gradient Color Option', 'redux-framework-demo' ), - 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'default' => array( - 'from' => '#1e73be', - 'to' => '#00897e' - ) - ), - array( - 'id' => 'opt-link-color', - 'type' => 'link_color', - 'title' => __( 'Links Color Option', 'redux-framework-demo' ), - 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //'regular' => false, // Disable Regular Color - //'hover' => false, // Disable Hover Color - //'active' => false, // Disable Active Color - //'visited' => true, // Enable Visited Color - 'default' => array( - 'regular' => '#aaa', - 'hover' => '#bbb', - 'active' => '#ccc', - ) - ), - array( - 'id' => 'opt-header-border', - 'type' => 'border', - 'title' => __( 'Header Border Option', 'redux-framework-demo' ), - 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), - 'output' => array( '.site-header' ), - // An array of CSS selectors to apply this font style to - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'default' => array( - 'border-color' => '#1e73be', - 'border-style' => 'solid', - 'border-top' => '3px', - 'border-right' => '3px', - 'border-bottom' => '3px', - 'border-left' => '3px' - ) - ), - array( - 'id' => 'opt-spacing', - 'type' => 'spacing', - 'output' => array( '.site-header' ), - // An array of CSS selectors to apply this font style to - 'mode' => 'margin', - // absolute, padding, margin, defaults to padding - 'all' => true, - // Have one field that applies to all - //'top' => false, // Disable the top - //'right' => false, // Disable the right - //'bottom' => false, // Disable the bottom - //'left' => false, // Disable the left - //'units' => 'em', // You can specify a unit value. Possible: px, em, % - //'units_extended'=> 'true', // Allow users to select any type of unit - //'display_units' => 'false', // Set to false to hide the units if the units are specified - 'title' => __( 'Padding/Margin Option', 'redux-framework-demo' ), - 'subtitle' => __( 'Allow your users to choose the spacing or margin they want.', 'redux-framework-demo' ), - 'desc' => __( 'You can enable or disable any piece of this field. Top, Right, Bottom, Left, or Units.', 'redux-framework-demo' ), - 'default' => array( - 'margin-top' => '1px', - 'margin-right' => '2px', - 'margin-bottom' => '3px', - 'margin-left' => '4px' - ) - ), - array( - 'id' => 'opt-dimensions', - 'type' => 'dimensions', - 'units' => 'em', // You can specify a unit value. Possible: px, em, % - 'units_extended' => 'true', // Allow users to select any type of unit - 'title' => __( 'Dimensions (Width/Height) Option', 'redux-framework-demo' ), - 'subtitle' => __( 'Allow your users to choose width, height, and/or unit.', 'redux-framework-demo' ), - 'desc' => __( 'You can enable or disable any piece of this field. Width, Height, or Units.', 'redux-framework-demo' ), - 'default' => array( - 'width' => 200, - 'height' => 100, - ) - ), - array( - 'id' => 'opt-typography-body', - 'type' => 'typography', - 'title' => __( 'Body Font', 'redux-framework-demo' ), - 'subtitle' => __( 'Specify the body font properties.', 'redux-framework-demo' ), - 'google' => true, - 'default' => array( - 'color' => '#dd9933', - 'font-size' => '30px', - 'font-family' => 'Arial,Helvetica,sans-serif', - 'font-weight' => 'Normal', - ), - ), - array( - 'id' => 'opt-custom-css', - 'type' => 'textarea', - 'title' => __( 'Custom CSS', 'redux-framework-demo' ), - 'subtitle' => __( 'Quickly add some CSS to your theme by adding it to this block.', 'redux-framework-demo' ), - 'desc' => __( 'This field is even CSS validated!', 'redux-framework-demo' ), - 'validate' => 'css', - ), - array( - 'id' => 'opt-custom-html', - 'type' => 'textarea', - 'title' => __( 'Custom HTML', 'redux-framework-demo' ), - 'subtitle' => __( 'Just like a text box widget.', 'redux-framework-demo' ), - 'desc' => __( 'This field is even HTML validated!', 'redux-framework-demo' ), - 'validate' => 'html', - ), - ) - ); - - /** - * Note here I used a 'heading' in the sections array construct - * This allows you to use a different title on your options page - * instead of reusing the 'title' value. This can be done on any - * section - kp - */ - $this->sections[] = array( - 'icon' => 'el-icon-bullhorn', - 'title' => __( 'Field Validation', 'redux-framework-demo' ), - 'heading' => __( 'Validate ALL fields within Redux.', 'redux-framework-demo' ), - 'desc' => __( '

    This is the Description. Again HTML is allowed2

    ', 'redux-framework-demo' ), - 'fields' => array( - array( - 'id' => 'opt-text-email', - 'type' => 'text', - 'title' => __( 'Text Option - Email Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'This is a little space under the Field Title in the Options table, additional info is good in here.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'email', - 'msg' => 'custom error message', - 'default' => 'test@test.com', - // 'text_hint' => array( - // 'title' => 'Valid Email Required!', - // 'content' => 'This field required a valid email address.' - // ) - ), - array( - 'id' => 'opt-text-post-type', - 'type' => 'text', - 'title' => __( 'Text Option with Data Attributes', 'redux-framework-demo' ), - 'subtitle' => __( 'You can also pass an options array if you want. Set the default to whatever you like.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'data' => 'post_type', - ), - array( - 'id' => 'opt-multi-text', - 'type' => 'multi_text', - 'title' => __( 'Multi Text Option - Color Validated', 'redux-framework-demo' ), - 'validate' => 'color', - 'subtitle' => __( 'If you enter an invalid color it will be removed. Try using the text "blue" as a color. ;)', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-text-url', - 'type' => 'text', - 'title' => __( 'Text Option - URL Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'This must be a URL.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'url', - 'default' => 'http://reduxframework.com', - // 'text_hint' => array( - // 'title' => '', - // 'content' => 'Please enter a valid URL in this field.' - // ) - ), - array( - 'id' => 'opt-text-numeric', - 'type' => 'text', - 'title' => __( 'Text Option - Numeric Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'This must be numeric.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'numeric', - 'default' => '0', - ), - array( - 'id' => 'opt-text-comma-numeric', - 'type' => 'text', - 'title' => __( 'Text Option - Comma Numeric Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'This must be a comma separated string of numerical values.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'comma_numeric', - 'default' => '0', - ), - array( - 'id' => 'opt-text-no-special-chars', - 'type' => 'text', - 'title' => __( 'Text Option - No Special Chars Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'This must be a alpha numeric only.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'no_special_chars', - 'default' => '0' - ), - array( - 'id' => 'opt-text-str_replace', - 'type' => 'text', - 'title' => __( 'Text Option - Str Replace Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), - 'desc' => __( 'This field\'s default value was changed by a filter hook!', 'redux-framework-demo' ), - 'validate' => 'str_replace', - 'str' => array( - 'search' => ' ', - 'replacement' => 'thisisaspace' - ), - 'default' => 'This is the default.' - ), - array( - 'id' => 'opt-text-preg_replace', - 'type' => 'text', - 'title' => __( 'Text Option - Preg Replace Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'preg_replace', - 'preg' => array( - 'pattern' => '/[^a-zA-Z_ -]/s', - 'replacement' => 'no numbers' - ), - 'default' => '0' - ), - array( - 'id' => 'opt-text-custom_validate', - 'type' => 'text', - 'title' => __( 'Text Option - Custom Callback Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate_callback' => 'redux_validate_callback_function', - 'default' => '0' - ), - array( - 'id' => 'opt-text-custom_validate-class', - 'type' => 'text', - 'title' => __( 'Text Option - Custom Callback Validated - Class', 'redux-framework-demo' ), - 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate_callback' => array( $this, 'validate_callback_function' ), - // You can pass the current class - // Or pass the class name and method - //'validate_callback' => array( - // 'Redux_Framework_sample_config', - // 'validate_callback_function' - //), - 'default' => '0' - ), - array( - 'id' => 'opt-textarea-no-html', - 'type' => 'textarea', - 'title' => __( 'Textarea Option - No HTML Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'All HTML will be stripped', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'no_html', - 'default' => 'No HTML is allowed in here.' - ), - array( - 'id' => 'opt-textarea-html', - 'type' => 'textarea', - 'title' => __( 'Textarea Option - HTML Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'HTML Allowed (wp_kses)', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'html', //see http://codex.wordpress.org/Function_Reference/wp_kses_post - 'default' => 'HTML is allowed in here.' - ), - array( - 'id' => 'opt-textarea-some-html', - 'type' => 'textarea', - 'title' => __( 'Textarea Option - HTML Validated Custom', 'redux-framework-demo' ), - 'subtitle' => __( 'Custom HTML Allowed (wp_kses)', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'html_custom', - 'default' => '

    Some HTML is allowed in here.

    ', - 'allowed_html' => array( '' ) //see http://codex.wordpress.org/Function_Reference/wp_kses - ), - array( - 'id' => 'opt-textarea-js', - 'type' => 'textarea', - 'title' => __( 'Textarea Option - JS Validated', 'redux-framework-demo' ), - 'subtitle' => __( 'JS will be escaped', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'validate' => 'js' - ), - ) - ); - - $this->sections[] = array( - 'icon' => 'el-icon-check', - 'title' => __( 'Radio/Checkbox Fields', 'redux-framework-demo' ), - 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), - 'fields' => array( - array( - 'id' => 'opt-checkbox', - 'type' => 'checkbox', - 'title' => __( 'Checkbox Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'default' => '1'// 1 = on | 0 = off - ), - array( - 'id' => 'opt-multi-check', - 'type' => 'checkbox', - 'title' => __( 'Multi Checkbox Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //Must provide key => value pairs for multi checkbox options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3' - ), - //See how std has changed? you also don't need to specify opts that are 0. - 'default' => array( - '1' => '1', - '2' => '0', - '3' => '0' - ) - ), - array( - 'id' => 'opt-checkbox-data', - 'type' => 'checkbox', - 'title' => __( 'Multi Checkbox Option (with menu data)', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'data' => 'menu' - ), - array( - 'id' => 'opt-checkbox-sidebar', - 'type' => 'checkbox', - 'title' => __( 'Multi Checkbox Option (with sidebar data)', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'data' => 'sidebars' - ), - array( - 'id' => 'opt-radio', - 'type' => 'radio', - 'title' => __( 'Radio Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //Must provide key => value pairs for radio options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3' - ), - 'default' => '2' - ), - array( - 'id' => 'opt-radio-data', - 'type' => 'radio', - 'title' => __( 'Multi Checkbox Option (with menu data)', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'data' => 'menu' - ), - array( - 'id' => 'opt-image-select', - 'type' => 'image_select', - 'title' => __( 'Images Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //Must provide key => value(array:title|img) pairs for radio options - 'options' => array( - '1' => array( 'title' => 'Opt 1', 'img' => 'images/align-none.png' ), - '2' => array( 'title' => 'Opt 2', 'img' => 'images/align-left.png' ), - '3' => array( 'title' => 'Opt 3', 'img' => 'images/align-center.png' ), - '4' => array( 'title' => 'Opt 4', 'img' => 'images/align-right.png' ) - ), - 'default' => '2' - ), - array( - 'id' => 'opt-image-select-layout', - 'type' => 'image_select', - 'title' => __( 'Images Option for Layout', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This uses some of the built in images, you can use them for layout options.', 'redux-framework-demo' ), - //Must provide key => value(array:title|img) pairs for radio options - 'options' => array( - '1' => array( - 'alt' => '1 Column', - 'img' => ReduxFramework::$_url . 'assets/img/1col.png' - ), - '2' => array( - 'alt' => '2 Column Left', - 'img' => ReduxFramework::$_url . 'assets/img/2cl.png' - ), - '3' => array( - 'alt' => '2 Column Right', - 'img' => ReduxFramework::$_url . 'assets/img/2cr.png' - ), - '4' => array( - 'alt' => '3 Column Middle', - 'img' => ReduxFramework::$_url . 'assets/img/3cm.png' - ), - '5' => array( - 'alt' => '3 Column Left', - 'img' => ReduxFramework::$_url . 'assets/img/3cl.png' - ), - '6' => array( - 'alt' => '3 Column Right', - 'img' => ReduxFramework::$_url . 'assets/img/3cr.png' - ) - ), - 'default' => '2' - ), - array( - 'id' => 'opt-sortable', - 'type' => 'sortable', - 'title' => __( 'Sortable Text Option', 'redux-framework-demo' ), - 'subtitle' => __( 'Define and reorder these however you want.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'options' => array( - 'si1' => 'Item 1', - 'si2' => 'Item 2', - 'si3' => 'Item 3', - ) - ), - array( - 'id' => 'opt-check-sortable', - 'type' => 'sortable', - 'mode' => 'checkbox', // checkbox or text - 'title' => __( 'Sortable Text Option', 'redux-framework-demo' ), - 'subtitle' => __( 'Define and reorder these however you want.', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'options' => array( - 'si1' => false, - 'si2' => true, - 'si3' => false, - ) - ), - ) - ); - - $this->sections[] = array( - 'icon' => 'el-icon-list-alt', - 'title' => __( 'Select Fields', 'redux-framework-demo' ), - 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), - 'fields' => array( - array( - 'id' => 'opt-select', - 'type' => 'select', - 'title' => __( 'Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //Must provide key => value pairs for select options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3', - ), - 'default' => '2' - ), - array( - 'id' => 'opt-select-optgroup', - 'type' => 'select', - 'title' => __( 'Select Option with optgroup', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //Must provide key => value pairs for select options - 'options' => array( - 'Group 1' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3', - ), - - 'Group 2' => array( - '4' => 'Opt 4', - '5' => 'Opt 5', - '6' => 'Opt 6', - ), - - '7' => 'Opt 7', - '8' => 'Opt 8', - '9' => 'Opt 9', - ), - 'default' => '2' - ), - - array( - 'id' => 'opt-multi-select', - 'type' => 'select', - 'multi' => true, - 'title' => __( 'Multi Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //Must provide key => value pairs for radio options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3' - ), - //'required' => array( 'opt-select', 'equals', array( '1', '3' ) ), - 'default' => array( '2', '3' ) - ), - array( - 'id' => 'opt-select-image', - 'type' => 'select_image', - 'title' => __( 'Select Image', 'redux-framework-demo' ), - 'subtitle' => __( 'A preview of the selected image will appear underneath the select box.', 'redux-framework-demo' ), - 'options' => $sample_patterns, - // Alternatively - //'options' => Array( - // 'img_name' => 'img_path' - // ) - 'default' => 'tree_bark.png', - ), - array( - 'id' => 'opt-info', - 'type' => 'info', - 'desc' => __( 'You can easily add a variety of data from WordPress.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-categories', - 'type' => 'select', - 'data' => 'categories', - 'title' => __( 'Categories Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-categories-multi', - 'type' => 'select', - 'data' => 'categories', - 'multi' => true, - 'title' => __( 'Categories Multi Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-pages', - 'type' => 'select', - 'data' => 'pages', - 'title' => __( 'Pages Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-multi-select-pages', - 'type' => 'select', - 'data' => 'pages', - 'multi' => true, - 'title' => __( 'Pages Multi Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-tags', - 'type' => 'select', - 'data' => 'tags', - 'title' => __( 'Tags Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-multi-select-tags', - 'type' => 'select', - 'data' => 'tags', - 'multi' => true, - 'title' => __( 'Tags Multi Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-menus', - 'type' => 'select', - 'data' => 'menus', - 'title' => __( 'Menus Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-multi-select-menus', - 'type' => 'select', - 'data' => 'menu', - 'multi' => true, - 'title' => __( 'Menus Multi Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-post-type', - 'type' => 'select', - 'data' => 'post_type', - 'title' => __( 'Post Type Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-multi-select-post-type', - 'type' => 'select', - 'data' => 'post_type', - 'multi' => true, - 'title' => __( 'Post Type Multi Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-multi-select-sortable', - 'type' => 'select', - 'data' => 'post_type', - 'multi' => true, - 'sortable' => true, - 'title' => __( 'Post Type Multi Select Option + Sortable', 'redux-framework-demo' ), - 'subtitle' => __( 'This field also has sortable enabled!', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-posts', - 'type' => 'select', - 'data' => 'post', - 'title' => __( 'Posts Select Option2', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-multi-select-posts', - 'type' => 'select', - 'data' => 'post', - 'multi' => true, - 'title' => __( 'Posts Multi Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-roles', - 'type' => 'select', - 'data' => 'roles', - 'title' => __( 'User Role Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-capabilities', - 'type' => 'select', - 'data' => 'capabilities', - 'multi' => true, - 'title' => __( 'Capabilities Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - ), - array( - 'id' => 'opt-select-elusive', - 'type' => 'select', - 'data' => 'elusive-icons', - 'title' => __( 'Elusive Icons Select Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'Here\'s a list of all the elusive icons by name and icon.', 'redux-framework-demo' ), - ), - ) - ); - - $theme_info = '
    '; - $theme_info .= '

    ' . __( 'Theme URL: ', 'redux-framework-demo' ) . '' . $this->theme->get( 'ThemeURI' ) . '

    '; - $theme_info .= '

    ' . __( 'Author: ', 'redux-framework-demo' ) . $this->theme->get( 'Author' ) . '

    '; - $theme_info .= '

    ' . __( 'Version: ', 'redux-framework-demo' ) . $this->theme->get( 'Version' ) . '

    '; - $theme_info .= '

    ' . $this->theme->get( 'Description' ) . '

    '; - $tabs = $this->theme->get( 'Tags' ); - if ( ! empty( $tabs ) ) { - $theme_info .= '

    ' . __( 'Tags: ', 'redux-framework-demo' ) . implode( ', ', $tabs ) . '

    '; - } - $theme_info .= '
    '; - - if ( file_exists( dirname( __FILE__ ) . '/../README.md' ) ) { - $this->sections['theme_docs'] = array( - 'icon' => 'el-icon-list-alt', - 'title' => __( 'Documentation', 'redux-framework-demo' ), - 'fields' => array( - array( - 'id' => '17', - 'type' => 'raw', - 'markdown' => true, - 'content' => file_get_contents( dirname( __FILE__ ) . '/../README.md' ) - ), - ), - ); - } - - // You can append a new section at any time. - $this->sections[] = array( - 'icon' => 'el-icon-eye-open', - 'title' => __( 'Additional Fields', 'redux-framework-demo' ), - 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), - 'fields' => array( - array( - 'id' => 'opt-datepicker', - 'type' => 'date', - 'title' => __( 'Date Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-divide', - 'type' => 'divide' - ), - array( - 'id' => 'opt-button-set', - 'type' => 'button_set', - 'title' => __( 'Button Set Option', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - //Must provide key => value pairs for radio options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3' - ), - 'default' => '2' - ), - array( - 'id' => 'opt-button-set-multi', - 'type' => 'button_set', - 'title' => __( 'Button Set, Multi Select', 'redux-framework-demo' ), - 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), - 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), - 'multi' => true, - //Must provide key => value pairs for radio options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3' - ), - 'default' => array( '2', '3' ) - ), - array( - 'id' => 'opt-info-field', - 'type' => 'info', - 'desc' => __( 'This is the info field, if you want to break sections up.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-info-warning', - 'type' => 'info', - 'style' => 'warning', - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an info field with the warning style applied and a header.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-info-success', - 'type' => 'info', - 'style' => 'success', - 'icon' => 'el-icon-info-sign', - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an info field with the success style applied, a header and an icon.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-info-critical', - 'type' => 'info', - 'style' => 'critical', - 'icon' => 'el-icon-info-sign', - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an info field with the critical style applied, a header and an icon.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-raw_info', - 'type' => 'info', - 'required' => array( '18', 'equals', array( '1', '2' ) ), - 'raw_html' => true, - 'desc' => $sampleHTML, - ), - array( - 'id' => 'opt-info-normal', - 'type' => 'info', - 'notice' => true, - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an info notice field with the normal style applied, a header and an icon.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-notice-info', - 'type' => 'info', - 'notice' => true, - 'style' => 'info', - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an info notice field with the info style applied, a header and an icon.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-notice-warning', - 'type' => 'info', - 'notice' => true, - 'style' => 'warning', - 'icon' => 'el-icon-info-sign', - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an info notice field with the warning style applied, a header and an icon.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-notice-success', - 'type' => 'info', - 'notice' => true, - 'style' => 'success', - 'icon' => 'el-icon-info-sign', - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an info notice field with the success style applied, a header and an icon.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-notice-critical', - 'type' => 'info', - 'notice' => true, - 'style' => 'critical', - 'icon' => 'el-icon-info-sign', - 'title' => __( 'This is a title.', 'redux-framework-demo' ), - 'desc' => __( 'This is an notice field with the critical style applied, a header and an icon.', 'redux-framework-demo' ) - ), - array( - 'id' => 'opt-custom-callback', - 'type' => 'callback', - 'title' => __( 'Custom Field Callback', 'redux-framework-demo' ), - 'subtitle' => __( 'This is a completely unique field type', 'redux-framework-demo' ), - 'desc' => __( 'This is created with a callback function, so anything goes in this field. Make sure to define the function though.', 'redux-framework-demo' ), - 'callback' => 'redux_my_custom_field' - ), - array( - 'id' => 'opt-custom-callback-class', - 'type' => 'callback', - 'title' => __( 'Custom Field Callback - Class', 'redux-framework-demo' ), - 'subtitle' => __( 'This is a completely unique field type', 'redux-framework-demo' ), - 'desc' => __( 'This is created with a callback function, so anything goes in this field. Make sure to define the function though.', 'redux-framework-demo' ), - //'callback' => array( $this, 'class_field_callback' ) // Can use the current class object - 'callback' => array( 'Redux_Framework_sample_config', 'class_field_callback' ) - // Can use just class name - ), - array( - 'id' => 'opt-customizer-only-in-section', - 'type' => 'select', - 'title' => __( 'Customizer Only Option', 'redux-framework-demo' ), - 'subtitle' => __( 'The subtitle is NOT visible in customizer', 'redux-framework-demo' ), - 'desc' => __( 'The field desc is NOT visible in customizer.', 'redux-framework-demo' ), - 'customizer_only' => true, - //Must provide key => value pairs for select options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3' - ), - 'default' => '2' - ), - ) - ); - - $this->sections[] = array( - 'icon' => 'el-icon-list-alt', - 'title' => __( 'Customizer Only', 'redux-framework-demo' ), - 'desc' => __( '

    This Section should be visible only in Customizer

    ', 'redux-framework-demo' ), - 'customizer_only' => true, - 'fields' => array( - array( - 'id' => 'opt-customizer-only', - 'type' => 'select', - 'title' => __( 'Customizer Only Option', 'redux-framework-demo' ), - 'subtitle' => __( 'The subtitle is NOT visible in customizer', 'redux-framework-demo' ), - 'desc' => __( 'The field desc is NOT visible in customizer.', 'redux-framework-demo' ), - 'customizer_only' => true, - //Must provide key => value pairs for select options - 'options' => array( - '1' => 'Opt 1', - '2' => 'Opt 2', - '3' => 'Opt 3' - ), - 'default' => '2' - ), - ) - ); - - $this->sections[] = array( - 'title' => __( 'WPML Example', 'redux-framework-demo' ), - 'desc' => __( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement. For extra details look at our WPML Implementation documentation.', 'redux-framework-demo' ), - 'icon' => 'el-icon-home', - // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! - 'fields' => array( - array( - 'id' => 'wpml-text', - 'type' => 'textarea', - 'title' => __( 'WPML Text', 'redux-framework-demo' ), - 'desc' => __( 'This string can be translated via WPML.', 'redux-framework-demo' ), - ), - array( - 'id' => 'wpml-multicheck', - 'type' => 'checkbox', - 'title' => __( 'WPML Multi Checkbox', 'redux-framework-demo' ), - 'desc' => __( 'You can literally translate the values via key.', 'redux-framework-demo' ), - //Must provide key => value pairs for multi checkbox options - 'options' => array( - '1' => 'Option 1', - '2' => 'Option 2', - '3' => 'Option 3' - ), - ), - ) - ); - - $this->sections[] = array( - 'title' => __( 'Import / Export', 'redux-framework-demo' ), - 'desc' => __( 'Import and Export your Redux Framework settings from file, text or URL.', 'redux-framework-demo' ), - 'icon' => 'el-icon-refresh', - 'fields' => array( - array( - 'id' => 'opt-import-export', - 'type' => 'import_export', - 'title' => 'Import Export', - 'subtitle' => 'Save and restore your Redux options', - 'full_width' => false, - ), - ), - ); - - $this->sections[] = array( - 'type' => 'divide', - ); - - $this->sections[] = array( - 'icon' => 'el-icon-info-sign', - 'title' => __( 'Theme Information', 'redux-framework-demo' ), - 'desc' => __( '

    This is the Description. Again HTML is allowed

    ', 'redux-framework-demo' ), - 'fields' => array( - array( - 'id' => 'opt-raw-info', - 'type' => 'raw', - 'content' => $item_info, - ) - ), - ); - - if ( file_exists( trailingslashit( dirname( __FILE__ ) ) . 'README.html' ) ) { - $tabs['docs'] = array( - 'icon' => 'el-icon-book', - 'title' => __( 'Documentation', 'redux-framework-demo' ), - 'content' => nl2br( file_get_contents( trailingslashit( dirname( __FILE__ ) ) . 'README.html' ) ) + if ( stristr( $sample_patterns_file, '.png' ) !== false || stristr( $sample_patterns_file, '.jpg' ) !== false ) { + $name = explode( '.', $sample_patterns_file ); + $name = str_replace( '.' . end( $name ), '', $sample_patterns_file ); + $sample_patterns[] = array( + 'alt' => $name, + 'img' => $sample_patterns_url . $sample_patterns_file ); } } + } + } - public function setHelpTabs() { + /* + * + * --> Action hook examples + * + */ - // Custom page help tabs, displayed using the help API. Tabs are shown in order of definition. - $this->args['help_tabs'][] = array( - 'id' => 'redux-help-tab-1', - 'title' => __( 'Theme Information 1', 'redux-framework-demo' ), - 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) - ); + // If Redux is running as a plugin, this will remove the demo notice and links + //add_action( 'redux/loaded', 'remove_demo' ); - $this->args['help_tabs'][] = array( - 'id' => 'redux-help-tab-2', - 'title' => __( 'Theme Information 2', 'redux-framework-demo' ), - 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) - ); + // Function to test the compiler hook and demo CSS output. + // Above 10 is a priority, but 2 in necessary to include the dynamically generated CSS to be sent to the function. + //add_filter('redux/options/' . $opt_name . '/compiler', 'compiler_action', 10, 3); - // Set the help sidebar - $this->args['help_sidebar'] = __( '

    This is the sidebar content, HTML is allowed.

    ', 'redux-framework-demo' ); - } + // Change the arguments after they've been declared, but before the panel is created + //add_filter('redux/options/' . $opt_name . '/args', 'change_arguments' ); - /** - * All the possible arguments for Redux. - * For full documentation on arguments, please refer to: https://github.com/ReduxFramework/ReduxFramework/wiki/Arguments - * */ - public function setArguments() { + // Change the default value of a field after it's been set, but before it's been useds + //add_filter('redux/options/' . $opt_name . '/defaults', 'change_defaults' ); - $theme = wp_get_theme(); // For use with some settings. Not necessary. + // Dynamically add a section. Can be also used to modify sections/fields + //add_filter('redux/options/' . $opt_name . '/sections', 'dynamic_section'); - $this->args = array( - // TYPICAL -> Change these values as you need/desire - 'opt_name' => 'redux_demo', - // This is where your data is stored in the database and also becomes your global variable name. - 'display_name' => $theme->get( 'Name' ), - // Name that appears at the top of your panel - 'display_version' => $theme->get( 'Version' ), - // Version that appears at the top of your panel - 'menu_type' => 'menu', - //Specify if the admin menu should appear or not. Options: menu or submenu (Under appearance only) - 'allow_sub_menu' => true, - // Show the sections below the admin menu item or not - 'menu_title' => __( 'Sample Options', 'redux-framework-demo' ), - 'page_title' => __( 'Sample Options', 'redux-framework-demo' ), - // You will need to generate a Google API key to use this feature. - // Please visit: https://developers.google.com/fonts/docs/developer_api#Auth - 'google_api_key' => '', - // Set it you want google fonts to update weekly. A google_api_key value is required. - 'google_update_weekly' => false, - // Must be defined to add google fonts to the typography module - 'async_typography' => true, - // Use a asynchronous font on the front end or font string - //'disable_google_fonts_link' => true, // Disable this in case you want to create your own google fonts loader - 'admin_bar' => true, - // Show the panel pages on the admin bar - 'admin_bar_icon' => 'dashicons-portfolio', - // Choose an icon for the admin bar menu - 'admin_bar_priority' => 50, - // Choose an priority for the admin bar menu - 'global_variable' => '', - // Set a different name for your global variable other than the opt_name - 'dev_mode' => true, - // Show the time the page took to load, etc - 'update_notice' => true, - // If dev_mode is enabled, will notify developer of updated versions available in the GitHub Repo - 'customizer' => true, - // Enable basic customizer support - //'open_expanded' => true, // Allow you to start the panel in an expanded way initially. - //'disable_save_warn' => true, // Disable the save warning when a user changes a field - // OPTIONAL -> Give you extra features - 'page_priority' => null, - // Order where the menu appears in the admin area. If there is any conflict, something will not show. Warning. - 'page_parent' => 'themes.php', - // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters - 'page_permissions' => 'manage_options', - // Permissions needed to access the options panel. - 'menu_icon' => '', - // Specify a custom URL to an icon - 'last_tab' => '', - // Force your panel to always open to a specific tab (by id) - 'page_icon' => 'icon-themes', - // Icon displayed in the admin panel next to your menu_title - 'page_slug' => '_options', - // Page slug used to denote the panel - 'save_defaults' => true, - // On load save the defaults to DB before user clicks save or not - 'default_show' => false, - // If true, shows the default value next to each field that is not the default value. - 'default_mark' => '', - // What to print by the field's title if the value shown is default. Suggested: * - 'show_import_export' => true, - // Shows the Import/Export panel when not used as a field. + /** + * ---> SET ARGUMENTS + * All the possible arguments for Redux. + * For full documentation on arguments, please refer to: https://github.com/ReduxFramework/ReduxFramework/wiki/Arguments + * */ - // CAREFUL -> These options are for advanced use only - 'transient_time' => 60 * MINUTE_IN_SECONDS, - 'output' => true, - // Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output - 'output_tag' => true, - // Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head - // 'footer_credit' => '', // Disable the footer credit of Redux. Please leave if you can help it. + $theme = wp_get_theme(); // For use with some settings. Not necessary. - // FUTURE -> Not in use yet, but reserved or partially implemented. Use at your own risk. - 'database' => '', - // possible: options, theme_mods, theme_mods_expanded, transient. Not fully functional, warning! - 'system_info' => false, - // REMOVE + $args = array( + // TYPICAL -> Change these values as you need/desire + 'opt_name' => $opt_name, + // This is where your data is stored in the database and also becomes your global variable name. + 'display_name' => $theme->get( 'Name' ), + // Name that appears at the top of your panel + 'display_version' => $theme->get( 'Version' ), + // Version that appears at the top of your panel + 'menu_type' => 'menu', + //Specify if the admin menu should appear or not. Options: menu or submenu (Under appearance only) + 'allow_sub_menu' => true, + // Show the sections below the admin menu item or not + 'menu_title' => __( 'Sample Options', 'redux-framework-demo' ), + 'page_title' => __( 'Sample Options', 'redux-framework-demo' ), + // You will need to generate a Google API key to use this feature. + // Please visit: https://developers.google.com/fonts/docs/developer_api#Auth + 'google_api_key' => '', + // Set it you want google fonts to update weekly. A google_api_key value is required. + 'google_update_weekly' => false, + // Must be defined to add google fonts to the typography module + 'async_typography' => true, + // Use a asynchronous font on the front end or font string + //'disable_google_fonts_link' => true, // Disable this in case you want to create your own google fonts loader + 'admin_bar' => true, + // Show the panel pages on the admin bar + 'admin_bar_icon' => 'dashicons-portfolio', + // Choose an icon for the admin bar menu + 'admin_bar_priority' => 50, + // Choose an priority for the admin bar menu + 'global_variable' => '', + // Set a different name for your global variable other than the opt_name + 'dev_mode' => true, + // Show the time the page took to load, etc + 'update_notice' => true, + // If dev_mode is enabled, will notify developer of updated versions available in the GitHub Repo + 'customizer' => true, + // Enable basic customizer support + //'open_expanded' => true, // Allow you to start the panel in an expanded way initially. + //'disable_save_warn' => true, // Disable the save warning when a user changes a field - // HINTS - 'hints' => array( - 'icon' => 'icon-question-sign', - 'icon_position' => 'right', - 'icon_color' => 'lightgray', - 'icon_size' => 'normal', - 'tip_style' => array( - 'color' => 'light', - 'shadow' => true, - 'rounded' => false, - 'style' => '', - ), - 'tip_position' => array( - 'my' => 'top left', - 'at' => 'bottom right', - ), - 'tip_effect' => array( - 'show' => array( - 'effect' => 'slide', - 'duration' => '500', - 'event' => 'mouseover', - ), - 'hide' => array( - 'effect' => 'slide', - 'duration' => '500', - 'event' => 'click mouseleave', - ), - ), + // OPTIONAL -> Give you extra features + 'page_priority' => null, + // Order where the menu appears in the admin area. If there is any conflict, something will not show. Warning. + 'page_parent' => 'themes.php', + // For a full list of options, visit: http://codex.wordpress.org/Function_Reference/add_submenu_page#Parameters + 'page_permissions' => 'manage_options', + // Permissions needed to access the options panel. + 'menu_icon' => '', + // Specify a custom URL to an icon + 'last_tab' => '', + // Force your panel to always open to a specific tab (by id) + 'page_icon' => 'icon-themes', + // Icon displayed in the admin panel next to your menu_title + 'page_slug' => '', + // Page slug used to denote the panel, will be based off page title then menu title then opt_name if not provided + 'save_defaults' => true, + // On load save the defaults to DB before user clicks save or not + 'default_show' => false, + // If true, shows the default value next to each field that is not the default value. + 'default_mark' => '', + // What to print by the field's title if the value shown is default. Suggested: * + 'show_import_export' => true, + // Shows the Import/Export panel when not used as a field. + + // CAREFUL -> These options are for advanced use only + 'transient_time' => 60 * MINUTE_IN_SECONDS, + 'output' => true, + // Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output + 'output_tag' => true, + // Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head + // 'footer_credit' => '', // Disable the footer credit of Redux. Please leave if you can help it. + + // FUTURE -> Not in use yet, but reserved or partially implemented. Use at your own risk. + 'database' => '', + // possible: options, theme_mods, theme_mods_expanded, transient. Not fully functional, warning! + 'system_info' => false, + // REMOVE + + //'compiler' => true, + + // HINTS + 'hints' => array( + 'icon' => 'el el-question-sign', + 'icon_position' => 'right', + 'icon_color' => 'lightgray', + 'icon_size' => 'normal', + 'tip_style' => array( + 'color' => 'red', + 'shadow' => true, + 'rounded' => false, + 'style' => '', + ), + 'tip_position' => array( + 'my' => 'top left', + 'at' => 'bottom right', + ), + 'tip_effect' => array( + 'show' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'mouseover', + ), + 'hide' => array( + 'effect' => 'slide', + 'duration' => '500', + 'event' => 'click mouseleave', + ), + ), + ) + ); + + // ADMIN BAR LINKS -> Setup custom links in the admin bar menu as external items. + $args['admin_bar_links'][] = array( + 'id' => 'redux-docs', + 'href' => 'http://docs.reduxframework.com/', + 'title' => __( 'Documentation', 'redux-framework-demo' ), + ); + + $args['admin_bar_links'][] = array( + //'id' => 'redux-support', + 'href' => 'https://github.com/ReduxFramework/redux-framework/issues', + 'title' => __( 'Support', 'redux-framework-demo' ), + ); + + $args['admin_bar_links'][] = array( + 'id' => 'redux-extensions', + 'href' => 'reduxframework.com/extensions', + 'title' => __( 'Extensions', 'redux-framework-demo' ), + ); + + // SOCIAL ICONS -> Setup custom links in the footer for quick links in your panel footer icons. + $args['share_icons'][] = array( + 'url' => 'https://github.com/ReduxFramework/ReduxFramework', + 'title' => 'Visit us on GitHub', + 'icon' => 'el el-github' + //'img' => '', // You can use icon OR img. IMG needs to be a full URL. + ); + $args['share_icons'][] = array( + 'url' => 'https://www.facebook.com/pages/Redux-Framework/243141545850368', + 'title' => 'Like us on Facebook', + 'icon' => 'el el-facebook' + ); + $args['share_icons'][] = array( + 'url' => 'http://twitter.com/reduxframework', + 'title' => 'Follow us on Twitter', + 'icon' => 'el el-twitter' + ); + $args['share_icons'][] = array( + 'url' => 'http://www.linkedin.com/company/redux-framework', + 'title' => 'Find us on LinkedIn', + 'icon' => 'el el-linkedin' + ); + + // Panel Intro text -> before the form + if ( ! isset( $args['global_variable'] ) || $args['global_variable'] !== false ) { + if ( ! empty( $args['global_variable'] ) ) { + $v = $args['global_variable']; + } else { + $v = str_replace( '-', '_', $args['opt_name'] ); + } + $args['intro_text'] = sprintf( __( '

    Did you know that Redux sets a global variable for you? To access any of your saved options from within your code you can use your global variable: $%1$s

    ', 'redux-framework-demo' ), $v ); + } else { + $args['intro_text'] = __( '

    This text is displayed above the options panel. It isn\'t required, but more info is always better! The intro_text field accepts all HTML.

    ', 'redux-framework-demo' ); + } + + // Add content after the form. + $args['footer_text'] = __( '

    This text is displayed below the options panel. It isn\'t required, but more info is always better! The footer_text field accepts all HTML.

    ', 'redux-framework-demo' ); + + Redux::setArgs( $opt_name, $args ); + + /* + * ---> END ARGUMENTS + */ + + + /* + * ---> START HELP TABS + */ + + $tabs = array( + array( + 'id' => 'redux-help-tab-1', + 'title' => __( 'Theme Information 1', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ), + array( + 'id' => 'redux-help-tab-2', + 'title' => __( 'Theme Information 2', 'redux-framework-demo' ), + 'content' => __( '

    This is the tab content, HTML is allowed.

    ', 'redux-framework-demo' ) + ) + ); + Redux::setHelpTab( $opt_name, $tabs ); + + // Set the help sidebar + $content = __( '

    This is the sidebar content, HTML is allowed.

    ', 'redux-framework-demo' ); + Redux::setHelpSidebar( $opt_name, $content ); + + + /* + * <--- END HELP TABS + */ + + + /* + * + * ---> START SECTIONS + * + */ + + /* + + As of Redux 3.5+, there is an extensive API. This API can be used in a mix/match mode allowing for + + + */ + + // -> START Basic Fields + + Redux::setSection( $opt_name, array( + 'title' => __( 'Basic Fields', 'redux-framework-demo' ), + 'id' => 'basic', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-home' + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Checkbox', 'redux-framework-demo' ), + 'id' => 'basic-checkbox', + 'subsection' => true, + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/checkbox/', + 'fields' => array( + array( + 'id' => 'opt-checkbox', + 'type' => 'checkbox', + 'title' => __( 'Checkbox Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => '1'// 1 = on | 0 = off + ), + array( + 'id' => 'opt-multi-check', + 'type' => 'checkbox', + 'title' => __( 'Multi Checkbox Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for multi checkbox options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + //See how std has changed? you also don't need to specify opts that are 0. + 'default' => array( + '1' => '1', + '2' => '0', + '3' => '0' + ) + ), + array( + 'id' => 'opt-checkbox-data', + 'type' => 'checkbox', + 'title' => __( 'Multi Checkbox Option (with menu data)', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'menu' + ), + array( + 'id' => 'opt-checkbox-sidebar', + 'type' => 'checkbox', + 'title' => __( 'Multi Checkbox Option (with sidebar data)', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'sidebars' + ), + ) + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Radio', 'redux-framework-demo' ), + 'id' => 'basic-Radio', + 'subsection' => true, + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/radio/', + 'fields' => array( + array( + 'id' => 'opt-radio', + 'type' => 'radio', + 'title' => __( 'Radio Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => '2' + ), + array( + 'id' => 'opt-radio-data', + 'type' => 'radio', + 'title' => __( 'Radio Option w/ Menu Data', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'menu' + ), + ) + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Sortable', 'redux-framework-demo' ), + 'id' => 'basic-Sortable', + 'subsection' => true, + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/sortable/', + 'fields' => array( + array( + 'id' => 'opt-sortable', + 'type' => 'sortable', + 'title' => __( 'Sortable Text Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Define and reorder these however you want.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'label' => true, + 'options' => array( + 'Text One' => 'Item 1', + 'Text Two' => 'Item 2', + 'Text Three' => 'Item 3', + ) + ), + array( + 'id' => 'opt-check-sortable', + 'type' => 'sortable', + 'mode' => 'checkbox', // checkbox or text + 'title' => __( 'Sortable Text Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Define and reorder these however you want.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'options' => array( + 'cb1' => 'Checkbox One', + 'cb2' => 'Checkbox Two', + 'cb3' => 'Checkbox Three', + ), + 'default' => array( + 'cb1' => false, + 'cb2' => true, + 'cb3' => false, + ) + ), + ) + ) ); + + + Redux::setSection( $opt_name, array( + 'title' => __( 'Text', 'redux-framework-demo' ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/text/', + 'id' => 'basic-Text', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'text-example', + 'type' => 'text', + 'title' => __( 'Text Field', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Field Description', 'redux-framework-demo' ), + 'default' => 'Default Text', + ), + array( + 'id' => 'text-example-hint', + 'type' => 'text', + 'title' => __( 'Text Field w/ Hint', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Field Description', 'redux-framework-demo' ), + 'default' => 'Default Text', + 'text_hint' => array( + 'title' => 'Hint Title', + 'content' => 'Hint content about this field!' + ) + ), + array( + 'id' => 'text-placeholder', + 'type' => 'text', + 'title' => __( 'Text Field', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Field Description', 'redux-framework-demo' ), + 'placeholder' => 'Placeholder Text', + ), + + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Multi Text', 'redux-framework-demo' ), + 'id' => 'basic-Multi Text', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/multi-text/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-multitext', + 'type' => 'multi_text', + 'title' => __( 'Multi Text Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Field subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Field Decription', 'redux-framework-demo' ) + ), + ) + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Password', 'redux-framework-demo' ), + 'id' => 'basic-Password', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/password/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'password', + 'type' => 'password', + 'username' => true, + 'title' => 'Password Field', + //'placeholder' => array( + // 'username' => 'Username', + // 'password' => 'Password', + //) + ) + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Textarea', 'redux-framework-demo' ), + 'id' => 'basic-Textarea', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/textarea/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-textarea', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - HTML Validated Custom', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => 'Default Text', + ) + ) + ) ); + + // -> START Editors + Redux::setSection( $opt_name, array( + 'title' => __( 'Editors', 'redux-framework-demo' ), + 'id' => 'editor', + 'icon' => 'el el-edit', + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'WordPress Editor', 'redux-framework-demo' ), + 'id' => 'editor-wordpress', + //'icon' => 'el el-home' + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/editor/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-editor', + 'type' => 'editor', + 'title' => __( 'Editor', 'redux-framework-demo' ), + 'subtitle' => __( 'Use any of the features of WordPress editor inside your panel!', 'redux-framework-demo' ), + 'default' => 'Powered by Redux Framework.', + ), + array( + 'id' => 'opt-editor-tiny', + 'type' => 'editor', + 'title' => __( 'Editor w/o Media Button', 'redux-framework-demo' ), + 'default' => 'Powered by Redux Framework.', + 'args' => array( + 'wpautop' => false, + 'media_buttons' => false, + 'textarea_rows' => 5, + //'tabindex' => 1, + //'editor_css' => '', + 'teeny' => false, + //'tinymce' => array(), + 'quicktags' => false, + ) + ), + array( + 'id' => 'opt-editor-full', + 'type' => 'editor', + 'title' => __( 'Editor - Full Width', 'redux-framework-demo' ), + 'full_width' => true + ), + ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/editor/', + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'ACE Editor', 'redux-framework-demo' ), + 'id' => 'editor-ace', + //'icon' => 'el el-home' + 'subsection' => true, + 'desc' => __( 'For full documentation on the this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/ace-editor/', + 'fields' => array( + array( + 'id' => 'opt-ace-editor-css', + 'type' => 'ace_editor', + 'title' => __( 'CSS Code', 'redux-framework-demo' ), + 'subtitle' => __( 'Paste your CSS code here.', 'redux-framework-demo' ), + 'mode' => 'css', + 'theme' => 'monokai', + 'desc' => 'Possible modes can be found at http://ace.c9.io/.', + 'default' => "#header{\n margin: 0 auto;\n}" + ), + array( + 'id' => 'opt-ace-editor-js', + 'type' => 'ace_editor', + 'title' => __( 'JS Code', 'redux-framework-demo' ), + 'subtitle' => __( 'Paste your JS code here.', 'redux-framework-demo' ), + 'mode' => 'javascript', + 'theme' => 'chrome', + 'desc' => 'Possible modes can be found at http://ace.c9.io/.', + 'default' => "jQuery(document).ready(function(){\n\n});" + ), + array( + 'id' => 'opt-ace-editor-php', + 'type' => 'ace_editor', + 'full_width' => true, + 'title' => __( 'PHP Code', 'redux-framework-demo' ), + 'subtitle' => __( 'Paste your PHP code here.', 'redux-framework-demo' ), + 'mode' => 'php', + 'theme' => 'chrome', + 'desc' => 'Possible modes can be found at http://ace.c9.io/.', + 'default' => ' START Color Selection + Redux::setSection( $opt_name, array( + 'title' => __( 'Color Selection', 'redux-framework-demo' ), + 'id' => 'color', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-brush' + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Color', 'redux-framework-demo' ), + 'id' => 'color-Color', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/color/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-color-title', + 'type' => 'color', + 'output' => array( '.site-title' ), + 'title' => __( 'Site Title Color', 'redux-framework-demo' ), + 'subtitle' => __( 'Pick a title color for the theme (default: #000).', 'redux-framework-demo' ), + 'default' => '#000000', + ), + array( + 'id' => 'opt-color-footer', + 'type' => 'color', + 'title' => __( 'Footer Background Color', 'redux-framework-demo' ), + 'subtitle' => __( 'Pick a background color for the footer (default: #dd9933).', 'redux-framework-demo' ), + 'default' => '#dd9933', + 'validate' => 'color', + ), + ), + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Color Gradient', 'redux-framework-demo' ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/color-gradient/', + 'id' => 'color-gradient', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-color-header', + 'type' => 'color_gradient', + 'title' => __( 'Header Gradient Color Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => array( + 'from' => '#1e73be', + 'to' => '#00897e' + ) + ), + ) + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Color RGBA', 'redux-framework-demo' ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/color-rgba/', + 'id' => 'color-rgba', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-color-rgba', + 'type' => 'color_rgba', + 'title' => __( 'Color RGBA', 'redux-framework-demo' ), + 'subtitle' => __( 'Gives you the RGBA color.', 'redux-framework-demo' ), + 'default' => array( + 'color' => '#7e33dd', + 'alpha' => '.8' + ), + //'output' => array( 'body' ), + 'mode' => 'background', + 'validate' => 'colorrgba', + ), + ) + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Link Color', 'redux-framework-demo' ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/link-color/', + 'id' => 'color-link', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-link-color', + 'type' => 'link_color', + 'title' => __( 'Links Color Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //'regular' => false, // Disable Regular Color + //'hover' => false, // Disable Hover Color + //'active' => false, // Disable Active Color + //'visited' => true, // Enable Visited Color + 'default' => array( + 'regular' => '#aaa', + 'hover' => '#bbb', + 'active' => '#ccc', + ) + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Palette Colors', 'redux-framework-demo' ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/palette-color/', + 'id' => 'color-palette', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-palette-color', + 'type' => 'palette', + 'title' => __( 'Palette Color Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => 'red', + 'palettes' => array( + 'red' => array( + '#ef9a9a', + '#f44336', + '#ff1744', + ), + 'pink' => array( + '#fce4ec', + '#f06292', + '#e91e63', + '#ad1457', + '#f50057', + ), + 'cyan' => array( + '#e0f7fa', + '#80deea', + '#26c6da', + '#0097a7', + '#00e5ff', + ), + ) + ), + ) + ) ); + + + // -> START Design Fields + Redux::setSection( $opt_name, array( + 'title' => __( 'Design Fields', 'redux-framework-demo' ), + 'id' => 'design', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-wrench' + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Background', 'redux-framework-demo' ), + 'id' => 'design-background', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-background', + 'type' => 'background', + 'output' => array( 'body' ), + 'title' => __( 'Body Background', 'redux-framework-demo' ), + 'subtitle' => __( 'Body background with image, color, etc.', 'redux-framework-demo' ), + //'default' => '#FFFFFF', + ), + + ), + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/background/', + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Border', 'redux-framework-demo' ), + 'id' => 'design-border', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/border/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-header-border', + 'type' => 'border', + 'title' => __( 'Header Border Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'output' => array( '.site-header' ), + // An array of CSS selectors to apply this font style to + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => array( + 'border-color' => '#1e73be', + 'border-style' => 'solid', + 'border-top' => '3px', + 'border-right' => '3px', + 'border-bottom' => '3px', + 'border-left' => '3px' + ) + ), + array( + 'id' => 'opt-header-border-expanded', + 'type' => 'border', + 'title' => __( 'Header Border Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Only color validation can be done on this field type', 'redux-framework-demo' ), + 'output' => array( '.site-header' ), + 'all' => false, + // An array of CSS selectors to apply this font style to + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'default' => array( + 'border-color' => '#1e73be', + 'border-style' => 'solid', + 'border-top' => '3px', + 'border-right' => '3px', + 'border-bottom' => '3px', + 'border-left' => '3px' + ) + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Dimensions', 'redux-framework-demo' ), + 'id' => 'design-dimensions', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/dimensions/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-dimensions', + 'type' => 'dimensions', + 'units' => array( 'em', 'px', '%' ), // You can specify a unit value. Possible: px, em, % + 'units_extended' => 'true', // Allow users to select any type of unit + 'title' => __( 'Dimensions (Width/Height) Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Allow your users to choose width, height, and/or unit.', 'redux-framework-demo' ), + 'desc' => __( 'You can enable or disable any piece of this field. Width, Height, or Units.', 'redux-framework-demo' ), + 'default' => array( + 'width' => 200, + 'height' => 100, + ) + ), + array( + 'id' => 'opt-dimensions-width', + 'type' => 'dimensions', + 'units' => array( 'em', 'px', '%' ), // You can specify a unit value. Possible: px, em, % + 'units_extended' => 'true', // Allow users to select any type of unit + 'title' => __( 'Dimensions (Width) Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Allow your users to choose width, height, and/or unit.', 'redux-framework-demo' ), + 'desc' => __( 'You can enable or disable any piece of this field. Width, Height, or Units.', 'redux-framework-demo' ), + 'height' => false, + 'default' => array( + 'width' => 200, + 'height' => 100, + ) + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Spacing', 'redux-framework-demo' ), + 'id' => 'design-spacing', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/spacing/', + 'subsection' => true, + 'fields' => array( + + array( + 'id' => 'opt-spacing', + 'type' => 'spacing', + 'output' => array( '.site-header' ), + // An array of CSS selectors to apply this font style to + 'mode' => 'margin', + // absolute, padding, margin, defaults to padding + 'all' => true, + // Have one field that applies to all + //'top' => false, // Disable the top + //'right' => false, // Disable the right + //'bottom' => false, // Disable the bottom + //'left' => false, // Disable the left + //'units' => 'em', // You can specify a unit value. Possible: px, em, % + //'units_extended'=> 'true', // Allow users to select any type of unit + //'display_units' => 'false', // Set to false to hide the units if the units are specified + 'title' => __( 'Padding/Margin Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Allow your users to choose the spacing or margin they want.', 'redux-framework-demo' ), + 'desc' => __( 'You can enable or disable any piece of this field. Top, Right, Bottom, Left, or Units.', 'redux-framework-demo' ), + 'default' => array( + 'margin-top' => '1px', + 'margin-right' => '2px', + 'margin-bottom' => '3px', + 'margin-left' => '4px' + ) + ), + array( + 'id' => 'opt-spacing-expanded', + 'type' => 'spacing', + // An array of CSS selectors to apply this font style to + 'mode' => 'margin', + // absolute, padding, margin, defaults to padding + 'all' => false, + // Have one field that applies to all + //'top' => false, // Disable the top + //'right' => false, // Disable the right + //'bottom' => false, // Disable the bottom + //'left' => false, // Disable the left + 'units' => array( 'em', 'px', '%' ), // You can specify a unit value. Possible: px, em, % + 'units_extended' => 'true', // Allow users to select any type of unit + //'display_units' => 'false', // Set to false to hide the units if the units are specified + 'title' => __( 'Padding/Margin Option', 'redux-framework-demo' ), + 'subtitle' => __( 'Allow your users to choose the spacing or margin they want.', 'redux-framework-demo' ), + 'desc' => __( 'You can enable or disable any piece of this field. Top, Right, Bottom, Left, or Units.', 'redux-framework-demo' ), + 'default' => array( + 'margin-top' => '1px', + 'margin-right' => '2px', + 'margin-bottom' => '3px', + 'margin-left' => '4px' + ) + ), + ) + ) ); + + // -> START Media Uploads + Redux::setSection( $opt_name, array( + 'title' => __( 'Media Uploads', 'redux-framework-demo' ), + 'id' => 'media', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-picture' + ) ); + + + Redux::setSection( $opt_name, array( + 'title' => __( 'Gallery', 'redux-framework-demo' ), + 'id' => 'media-gallery', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/gallery/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-gallery', + 'type' => 'gallery', + 'title' => __( 'Add/Edit Gallery', 'redux-framework-demo' ), + 'subtitle' => __( 'Create a new Gallery by selecting existing or uploading new images using the WordPress native uploader', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Media', 'redux-framework-demo' ), + 'id' => 'media-media', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/media/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-media', + 'type' => 'media', + 'url' => true, + 'title' => __( 'Media w/ URL', 'redux-framework-demo' ), + 'compiler' => 'true', + //'mode' => false, // Can be set to false to allow any media type, or can also be set to any mime type. + 'desc' => __( 'Basic media uploader with disabled URL input field.', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + 'default' => array( 'url' => 'http://s.wordpress.org/style/images/codeispoetry.png' ), + //'hint' => array( + // 'title' => 'Hint Title', + // 'content' => 'This is a hint for the media field with a Title.', + //) + ), + array( + 'id' => 'media-no-url', + 'type' => 'media', + 'title' => __( 'Media w/o URL', 'redux-framework-demo' ), + 'desc' => __( 'This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + ), + array( + 'id' => 'media-no-preview', + 'type' => 'media', + 'preview' => false, + 'title' => __( 'Media No Preview', 'redux-framework-demo' ), + 'desc' => __( 'This represents the minimalistic view. It does not have the preview box or the display URL in an input box. ', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + 'hint' => array( + 'title' => 'Test', + 'content' => 'This is a hint tool-tip for the webFonts field.

    Add any HTML based text you like here.', + ) + ), + array( + 'id' => 'opt-random-upload', + 'type' => 'media', + 'title' => __( 'Upload Anything - Disabled Mode', 'redux-framework-demo' ), + 'full_width' => true, + 'mode' => false, + // Can be set to false to allow any media type, or can also be set to any mime type. + 'desc' => __( 'Basic media uploader with disabled URL input field.', 'redux-framework-demo' ), + 'subtitle' => __( 'Upload any media using the WordPress native uploader', 'redux-framework-demo' ), + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Slides', 'redux-framework-demo' ), + 'id' => 'additional-slides', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/slides/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-slides', + 'type' => 'slides', + 'title' => __( 'Slides Options', 'redux-framework-demo' ), + 'subtitle' => __( 'Unlimited slides with drag and drop sortings.', 'redux-framework-demo' ), + 'desc' => __( 'This field will store all slides values into a multidimensional array to use into a foreach loop.', 'redux-framework-demo' ), + 'placeholder' => array( + 'title' => __( 'This is a title', 'redux-framework-demo' ), + 'description' => __( 'Description Here', 'redux-framework-demo' ), + 'url' => __( 'Give us a link!', 'redux-framework-demo' ), + ), + ), + ) + ) ); + + // -> START Presentation Fields + Redux::setSection( $opt_name, array( + 'title' => __( 'Presentation Fields', 'redux-framework-demo' ), + 'id' => 'presentation', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-screen' + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Divide', 'redux-framework-demo' ), + 'id' => 'presentation-divide', + 'desc' => __( 'The spacer to the section menu as seen to the left (after this section block) is the divide "section". Also the divider below is the divide "field".', 'redux-framework-demo' ) . '
    ' . __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/divide/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-divide', + 'type' => 'divide' + ), + ), + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Info', 'redux-framework-demo' ), + 'id' => 'presentation-info', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/info/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-info-field', + 'type' => 'info', + 'desc' => __( 'This is the info field, if you want to break sections up.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-info1', + 'type' => 'info', + 'style' => 'info', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the info style applied. By default the normal style is applied.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-warning', + 'type' => 'info', + 'style' => 'warning', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the warning style applied.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-success', + 'type' => 'info', + 'style' => 'success', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the success style applied and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-critical', + 'type' => 'info', + 'style' => 'critical', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the critical style applied and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-custom', + 'type' => 'info', + 'style' => 'custom', + 'color' => 'purple', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info field with the custom style applied, color arg passed, and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-info-normal', + 'type' => 'info', + 'notice' => false, + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info non-notice field with the normal style applied.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-info', + 'type' => 'info', + 'notice' => false, + 'style' => 'info', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info non-notice field with the info style applied.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-warning', + 'type' => 'info', + 'notice' => false, + 'style' => 'warning', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info non-notice field with the warning style applied and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-success', + 'type' => 'info', + 'notice' => false, + 'style' => 'success', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an info non-notice field with the success style applied and an icon.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-notice-critical', + 'type' => 'info', + 'notice' => false, + 'style' => 'critical', + 'icon' => 'el el-info-circle', + 'title' => __( 'This is a title.', 'redux-framework-demo' ), + 'desc' => __( 'This is an non-notice field with the critical style applied and an icon.', 'redux-framework-demo' ) + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Section', 'redux-framework-demo' ), + 'id' => 'presentation-section', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/section/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'section-start', + 'type' => 'section', + 'title' => __( 'Section Example', 'redux-framework-demo' ), + 'subtitle' => __( 'With the "section" field you can create indented option sections.', 'redux-framework-demo' ), + 'indent' => true, // Indent all options below until the next 'section' option is set. + ), + array( + 'id' => 'section-test', + 'type' => 'text', + 'title' => __( 'Field Title', 'redux-framework-demo' ), + 'subtitle' => __( 'Field Subtitle', 'redux-framework-demo' ), + ), + array( + 'id' => 'section-test-media', + 'type' => 'media', + 'title' => __( 'Field Title', 'redux-framework-demo' ), + 'subtitle' => __( 'Field Subtitle', 'redux-framework-demo' ), + ), + array( + 'id' => 'section-end', + 'type' => 'section', + 'indent' => false, // Indent all options below until the next 'section' option is set. + ), + array( + 'id' => 'section-info', + 'type' => 'info', + 'desc' => __( 'And now you can add more fields below and outside of the indent.', 'redux-framework-demo' ), + ), + ), + ) ); + Redux::setSection( $opt_name, array( + 'id' => 'presentation-divide-sample', + 'type' => 'divide', + ) ); + + // -> START Switch & Button Set + Redux::setSection( $opt_name, array( + 'title' => __( 'Switch & Button Set', 'redux-framework-demo' ), + 'id' => 'switch_buttonset', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-cogs' + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Button Set', 'redux-framework-demo' ), + 'id' => 'switch_buttonset-set', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/button-set/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-button-set', + 'type' => 'button_set', + 'title' => __( 'Button Set Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => '2' + ), + array( + 'id' => 'opt-button-set-multi', + 'type' => 'button_set', + 'title' => __( 'Button Set, Multi Select', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'multi' => true, + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => array( '2', '3' ) + ), + + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Switch', 'redux-framework-demo' ), + 'id' => 'switch_buttonset-switch', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/switch/', + 'subsection' => true, + 'fields' => array( + + array( + 'id' => 'switch-on', + 'type' => 'switch', + 'title' => __( 'Switch On', 'redux-framework-demo' ), + 'subtitle' => __( 'Look, it\'s on!', 'redux-framework-demo' ), + 'default' => true, + ), + array( + 'id' => 'switch-off', + 'type' => 'switch', + 'title' => __( 'Switch Off', 'redux-framework-demo' ), + 'subtitle' => __( 'Look, it\'s on!', 'redux-framework-demo' ), + //'options' => array('on', 'off'), + 'default' => false, + ), + array( + 'id' => 'switch-parent', + 'type' => 'switch', + 'title' => __( 'Switch - Nested Children, Enable to show', 'redux-framework-demo' ), + 'subtitle' => __( 'Look, it\'s on! Also hidden child elements!', 'redux-framework-demo' ), + 'default' => 0, + 'on' => 'Enabled', + 'off' => 'Disabled', + ), + array( + 'id' => 'switch-child1', + 'type' => 'switch', + 'required' => array( 'switch-parent', '=', '1' ), + 'title' => __( 'Switch - This and the next switch required for patterns to show', 'redux-framework-demo' ), + 'subtitle' => __( 'Also called a "fold" parent.', 'redux-framework-demo' ), + 'desc' => __( 'Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo' ), + 'default' => false, + ), + array( + 'id' => 'switch-child2', + 'type' => 'switch', + 'required' => array( 'switch-parent', '=', '1' ), + 'title' => __( 'Switch2 - Enable the above switch and this one for patterns to show', 'redux-framework-demo' ), + 'subtitle' => __( 'Also called a "fold" parent.', 'redux-framework-demo' ), + 'desc' => __( 'Items set with a fold to this ID will hide unless this is set to the appropriate value.', 'redux-framework-demo' ), + 'default' => false, + ), + ) + ) ); + + // -> START Select Fields + Redux::setSection( $opt_name, array( + 'title' => __( 'Select Fields', 'redux-framework-demo' ), + 'id' => 'select', + 'icon' => 'el el-list-alt' + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Select', 'redux-framework-demo' ), + 'id' => 'select-select', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/select/', + 'subsection' => true, + 'fields' => array( + + array( + 'id' => 'opt-select', + 'type' => 'select', + 'title' => __( 'Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for select options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3', + ), + 'default' => '2' + ), + array( + 'id' => 'opt-select-stylesheet', + 'type' => 'select', + 'title' => __( 'Theme Stylesheet', 'redux-framework-demo' ), + 'subtitle' => __( 'Select your themes alternative color scheme.', 'redux-framework-demo' ), + 'options' => array( 'default.css' => 'default.css', 'color1.css' => 'color1.css' ), + 'default' => 'default.css', + ), + array( + 'id' => 'opt-select-optgroup', + 'type' => 'select', + 'title' => __( 'Select Option with optgroup', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for select options + 'options' => array( + 'Group 1' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3', + ), + 'Group 2' => array( + '4' => 'Opt 4', + '5' => 'Opt 5', + '6' => 'Opt 6', + ), + '7' => 'Opt 7', + '8' => 'Opt 8', + '9' => 'Opt 9', + ), + 'default' => '2' + ), + array( + 'id' => 'opt-multi-select', + 'type' => 'select', + 'multi' => true, + 'title' => __( 'Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value pairs for radio options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + //'required' => array( 'opt-select', 'equals', array( '1', '3' ) ), + 'default' => array( '2', '3' ) + ), + array( + 'id' => 'opt-select-image', + 'type' => 'select_image', + 'title' => __( 'Select Image', 'redux-framework-demo' ), + 'subtitle' => __( 'A preview of the selected image will appear underneath the select box.', 'redux-framework-demo' ), + 'options' => $sample_patterns, + // Alternatively + //'options' => Array( + // 'img_name' => 'img_path' + // ) + 'default' => 'tree_bark.png', + ), + array( + 'id' => 'opt-info', + 'type' => 'info', + 'desc' => __( 'You can easily add a variety of data from WordPress.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-categories', + 'type' => 'select', + 'data' => 'categories', + 'title' => __( 'Categories Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-categories-multi', + 'type' => 'select', + 'data' => 'categories', + 'multi' => true, + 'title' => __( 'Categories Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-pages', + 'type' => 'select', + 'data' => 'pages', + 'title' => __( 'Pages Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-pages', + 'type' => 'select', + 'data' => 'pages', + 'multi' => true, + 'title' => __( 'Pages Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-tags', + 'type' => 'select', + 'data' => 'tags', + 'title' => __( 'Tags Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-tags', + 'type' => 'select', + 'data' => 'tags', + 'multi' => true, + 'title' => __( 'Tags Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-menus', + 'type' => 'select', + 'data' => 'menus', + 'title' => __( 'Menus Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-menus', + 'type' => 'select', + 'data' => 'menu', + 'multi' => true, + 'title' => __( 'Menus Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-post-type', + 'type' => 'select', + 'data' => 'post_type', + 'title' => __( 'Post Type Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-post-type', + 'type' => 'select', + 'data' => 'post_type', + 'multi' => true, + 'title' => __( 'Post Type Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-sortable', + 'type' => 'select', + 'data' => 'post_type', + 'multi' => true, + 'sortable' => true, + 'title' => __( 'Post Type Multi Select Option + Sortable', 'redux-framework-demo' ), + 'subtitle' => __( 'This field also has sortable enabled!', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-posts', + 'type' => 'select', + 'data' => 'post', + 'title' => __( 'Posts Select Option2', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-multi-select-posts', + 'type' => 'select', + 'data' => 'post', + 'multi' => true, + 'title' => __( 'Posts Multi Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-roles', + 'type' => 'select', + 'data' => 'roles', + 'title' => __( 'User Role Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-capabilities', + 'type' => 'select', + 'data' => 'capabilities', + 'multi' => true, + 'title' => __( 'Capabilities Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + ), + array( + 'id' => 'opt-select-elusive', + 'type' => 'select', + 'data' => 'elusive-icons', + 'title' => __( 'Elusive Icons Select Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'Here\'s a list of all the elusive icons by name and icon.', 'redux-framework-demo' ), + ), + ) + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Image Select', 'redux-framework-demo' ), + 'id' => 'select-image_select', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/image-select/', + 'subsection' => true, + 'fields' => array( + + array( + 'id' => 'opt-image-select-layout', + 'type' => 'image_select', + 'title' => __( 'Images Option for Layout', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This uses some of the built in images, you can use them for layout options.', 'redux-framework-demo' ), + //Must provide key => value(array:title|img) pairs for radio options + 'options' => array( + '1' => array( + 'alt' => '1 Column', + 'img' => ReduxFramework::$_url . 'assets/img/1col.png' + ), + '2' => array( + 'alt' => '2 Column Left', + 'img' => ReduxFramework::$_url . 'assets/img/2cl.png' + ), + '3' => array( + 'alt' => '2 Column Right', + 'img' => ReduxFramework::$_url . 'assets/img/2cr.png' + ), + '4' => array( + 'alt' => '3 Column Middle', + 'img' => ReduxFramework::$_url . 'assets/img/3cm.png' + ), + '5' => array( + 'alt' => '3 Column Left', + 'img' => ReduxFramework::$_url . 'assets/img/3cl.png' + ), + '6' => array( + 'alt' => '3 Column Right', + 'img' => ReduxFramework::$_url . 'assets/img/3cr.png' ) - ); + ), + 'default' => '2' + ), + array( + 'id' => 'opt-patterns', + 'type' => 'image_select', + 'tiles' => true, + 'title' => __( 'Images Option (with tiles => true)', 'redux-framework-demo' ), + 'subtitle' => __( 'Select a background pattern.', 'redux-framework-demo' ), + 'default' => 0, + 'options' => $sample_patterns + , + ), + array( + 'id' => 'opt-image-select', + 'type' => 'image_select', + 'title' => __( 'Images Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + //Must provide key => value(array:title|img) pairs for radio options + 'options' => array( + '1' => array( 'title' => 'Opt 1', 'img' => 'images/align-none.png' ), + '2' => array( 'title' => 'Opt 2', 'img' => 'images/align-left.png' ), + '3' => array( 'title' => 'Opt 3', 'img' => 'images/align-center.png' ), + '4' => array( 'title' => 'Opt 4', 'img' => 'images/align-right.png' ) + ), + 'default' => '2' + ), + array( + 'id' => 'opt-presets', + 'type' => 'image_select', + 'presets' => true, + 'full_width' => true, + 'title' => __( 'Preset', 'redux-framework-demo' ), + 'subtitle' => __( 'This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo' ), + 'default' => 0, + 'desc' => __( 'This allows you to set a json string or array to override multiple preferences in your theme.', 'redux-framework-demo' ), + 'options' => array( + '1' => array( + 'alt' => 'Preset 1', + 'img' => ReduxFramework::$_url . '../sample/presets/preset1.png', + 'presets' => array( + 'switch-on' => 1, + 'switch-off' => 1, + 'switch-parent' => 1 + ) + ), + '2' => array( + 'alt' => 'Preset 2', + 'img' => ReduxFramework::$_url . '../sample/presets/preset2.png', + 'presets' => '{"opt-slider-label":"1", "opt-slider-text":"10"}' + ), + ), + ), + ) + ) ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Select Image', 'redux-framework-demo' ), + 'id' => 'select-select_image', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/select-image/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-select_image', + 'type' => 'select_image', + 'presets' => true, + 'title' => __( 'Select Image', 'redux-framework-demo' ), + 'default' => 0, + 'options' => array( + '1' => array( + 'alt' => 'Preset 1', + 'img' => ReduxFramework::$_url . '../sample/presets/preset1.png', + ), + '2' => array( + 'alt' => 'Preset 2', + 'img' => ReduxFramework::$_url . '../sample/presets/preset2.png', + ), + ), + ), + ) + ) ); - // ADMIN BAR LINKS -> Setup custom links in the admin bar menu as external items. - $this->args['admin_bar_links'][] = array( - 'id' => 'redux-docs', - 'href' => 'http://docs.reduxframework.com/', - 'title' => __( 'Documentation', 'redux-framework-demo' ), - ); + // -> START Slider / Spinner + Redux::setSection( $opt_name, array( + 'title' => __( 'Slider / Spinner', 'redux-framework-demo' ), + 'id' => 'slider_spinner', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-adjust-alt' + ) ); - $this->args['admin_bar_links'][] = array( - //'id' => 'redux-support', - 'href' => 'https://github.com/ReduxFramework/redux-framework/issues', - 'title' => __( 'Support', 'redux-framework-demo' ), - ); + Redux::setSection( $opt_name, array( + 'title' => __( 'Slider', 'redux-framework-demo' ), + 'id' => 'slider_spinner-slider', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/slider/', + 'fields' => array( - $this->args['admin_bar_links'][] = array( - 'id' => 'redux-extensions', - 'href' => 'reduxframework.com/extensions', - 'title' => __( 'Extensions', 'redux-framework-demo' ), - ); + array( + 'id' => 'opt-slider-label', + 'type' => 'slider', + 'title' => __( 'Slider Example 1', 'redux-framework-demo' ), + 'subtitle' => __( 'This slider displays the value as a label.', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 1, max: 500, step: 1, default value: 250', 'redux-framework-demo' ), + 'default' => 250, + 'min' => 1, + 'step' => 1, + 'max' => 500, + 'display_value' => 'label' + ), + array( + 'id' => 'opt-slider-text', + 'type' => 'slider', + 'title' => __( 'Slider Example 2 with Steps (5)', 'redux-framework-demo' ), + 'subtitle' => __( 'This example displays the value in a text box', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 0, max: 300, step: 5, default value: 75', 'redux-framework-demo' ), + 'default' => 75, + 'min' => 0, + 'step' => 5, + 'max' => 300, + 'display_value' => 'text' + ), + array( + 'id' => 'opt-slider-select', + 'type' => 'slider', + 'title' => __( 'Slider Example 3 with two sliders', 'redux-framework-demo' ), + 'subtitle' => __( 'This example displays the values in select boxes', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 0, max: 500, step: 5, slider 1 default value: 100, slider 2 default value: 300', 'redux-framework-demo' ), + 'default' => array( + 1 => 100, + 2 => 300, + ), + 'min' => 0, + 'step' => 5, + 'max' => '500', + 'display_value' => 'select', + 'handles' => 2, + ), + array( + 'id' => 'opt-slider-float', + 'type' => 'slider', + 'title' => __( 'Slider Example 4 with float values', 'redux-framework-demo' ), + 'subtitle' => __( 'This example displays float values', 'redux-framework-demo' ), + 'desc' => __( 'Slider description. Min: 0, max: 1, step: .1, default value: .5', 'redux-framework-demo' ), + 'default' => .5, + 'min' => 0, + 'step' => .1, + 'max' => 1, + 'resolution' => 0.1, + 'display_value' => 'text' + ), - // SOCIAL ICONS -> Setup custom links in the footer for quick links in your panel footer icons. - $this->args['share_icons'][] = array( - 'url' => 'https://github.com/ReduxFramework/ReduxFramework', - 'title' => 'Visit us on GitHub', - 'icon' => 'el-icon-github' - //'img' => '', // You can use icon OR img. IMG needs to be a full URL. - ); - $this->args['share_icons'][] = array( - 'url' => 'https://www.facebook.com/pages/Redux-Framework/243141545850368', - 'title' => 'Like us on Facebook', - 'icon' => 'el-icon-facebook' - ); - $this->args['share_icons'][] = array( - 'url' => 'http://twitter.com/reduxframework', - 'title' => 'Follow us on Twitter', - 'icon' => 'el-icon-twitter' - ); - $this->args['share_icons'][] = array( - 'url' => 'http://www.linkedin.com/company/redux-framework', - 'title' => 'Find us on LinkedIn', - 'icon' => 'el-icon-linkedin' - ); + ), + 'subsection' => true, + ) ); - // Panel Intro text -> before the form - if ( ! isset( $this->args['global_variable'] ) || $this->args['global_variable'] !== false ) { - if ( ! empty( $this->args['global_variable'] ) ) { - $v = $this->args['global_variable']; - } else { - $v = str_replace( '-', '_', $this->args['opt_name'] ); - } - $this->args['intro_text'] = sprintf( __( '

    Did you know that Redux sets a global variable for you? To access any of your saved options from within your code you can use your global variable: $%1$s

    ', 'redux-framework-demo' ), $v ); - } else { - $this->args['intro_text'] = __( '

    This text is displayed above the options panel. It isn\'t required, but more info is always better! The intro_text field accepts all HTML.

    ', 'redux-framework-demo' ); - } + Redux::setSection( $opt_name, array( + 'title' => __( 'Spinner', 'redux-framework-demo' ), + 'id' => 'slider_spinner-spinner', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/spinner/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-spinner', + 'type' => 'spinner', + 'title' => __( 'JQuery UI Spinner Example 1', 'redux-framework-demo' ), + 'desc' => __( 'JQuery UI spinner description. Min:20, max: 100, step:20, default value: 40', 'redux-framework-demo' ), + 'default' => '40', + 'min' => '20', + 'step' => '20', + 'max' => '100', + ), + ) + ) ); - // Add content after the form. - $this->args['footer_text'] = __( '

    This text is displayed below the options panel. It isn\'t required, but more info is always better! The footer_text field accepts all HTML.

    ', 'redux-framework-demo' ); - } + // -> START Typography + Redux::setSection( $opt_name, array( + 'title' => __( 'Typography', 'redux-framework-demo' ), + 'id' => 'typography', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/typography/', + 'icon' => 'el el-font', + 'fields' => array( + array( + 'id' => 'opt-typography-body', + 'type' => 'typography', + 'title' => __( 'Body Font', 'redux-framework-demo' ), + 'subtitle' => __( 'Specify the body font properties.', 'redux-framework-demo' ), + 'google' => true, + 'default' => array( + 'color' => '#dd9933', + 'font-size' => '30px', + 'font-family' => 'Arial,Helvetica,sans-serif', + 'font-weight' => 'Normal', + ), + ), + array( + 'id' => 'opt-typography', + 'type' => 'typography', + 'title' => __( 'Typography h2.site-description', 'redux-framework-demo' ), + //'compiler' => true, // Use if you want to hook in your own CSS compiler + //'google' => false, + // Disable google fonts. Won't work if you haven't defined your google api key + 'font-backup' => true, + // Select a backup non-google font in addition to a google font + //'font-style' => false, // Includes font-style and weight. Can use font-style or font-weight to declare + //'subsets' => false, // Only appears if google is true and subsets not set to false + //'font-size' => false, + //'line-height' => false, + //'word-spacing' => true, // Defaults to false + //'letter-spacing'=> true, // Defaults to false + //'color' => false, + //'preview' => false, // Disable the previewer + 'all_styles' => true, + // Enable all Google Font style/weight variations to be added to the page + 'output' => array( 'h2.site-description, .entry-title' ), + // An array of CSS selectors to apply this font style to dynamically + 'compiler' => array( 'h2.site-description-compiler' ), + // An array of CSS selectors to apply this font style to dynamically + 'units' => 'px', + // Defaults to px + 'subtitle' => __( 'Typography option with each property can be called individually.', 'redux-framework-demo' ), + 'default' => array( + 'color' => '#333', + 'font-style' => '700', + 'font-family' => 'Abel', + 'google' => true, + 'font-size' => '33px', + 'line-height' => '40px' + ), + ), + ) + ) ); - public function validate_callback_function( $field, $value, $existing_value ) { - $error = true; - $value = 'just testing'; + // -> START Additional Types + Redux::setSection( $opt_name, array( + 'title' => __( 'Additional Types', 'redux-framework-demo' ), + 'id' => 'additional', + 'desc' => __( '', 'redux-framework-demo' ), + 'icon' => 'el el-magic', + //'fields' => array( + // array( + // 'id' => 'opt-customizer-only-in-section', + // 'type' => 'select', + // 'title' => __( 'Customizer Only Option', 'redux-framework-demo' ), + // 'subtitle' => __( 'The subtitle is NOT visible in customizer', 'redux-framework-demo' ), + // 'desc' => __( 'The field desc is NOT visible in customizer.', 'redux-framework-demo' ), + // 'customizer_only' => true, + // //Must provide key => value pairs for select options + // 'options' => array( + // '1' => 'Opt 1', + // '2' => 'Opt 2', + // '3' => 'Opt 3' + // ), + // 'default' => '2' + // ), + //) + ) ); - /* - do your validation + Redux::setSection( $opt_name, array( + 'title' => __( 'Date', 'redux-framework-demo' ), + 'id' => 'additional-date', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/date/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-datepicker', + 'type' => 'date', + 'title' => __( 'Date Option', 'redux-framework-demo' ), + 'subtitle' => __( 'No validation can be done on this field type', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ) + ), + ), + ) ); - if(something) { - $value = $value; - } elseif(something else) { + Redux::setSection( $opt_name, array( + 'title' => __( 'Sorter', 'redux-framework-demo' ), + 'id' => 'additional-sorter', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/sorter/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-homepage-layout', + 'type' => 'sorter', + 'title' => 'Layout Manager Advanced', + 'subtitle' => 'You can add multiple drop areas or columns.', + 'compiler' => 'true', + 'options' => array( + 'enabled' => array( + 'highlights' => 'Highlights', + 'slider' => 'Slider', + 'staticpage' => 'Static Page', + 'services' => 'Services' + ), + 'disabled' => array(), + 'backup' => array(), + ), + 'limits' => array( + 'disabled' => 1, + 'backup' => 2, + ), + ), + array( + 'id' => 'opt-homepage-layout-2', + 'type' => 'sorter', + 'title' => 'Homepage Layout Manager', + 'desc' => 'Organize how you want the layout to appear on the homepage', + 'compiler' => 'true', + 'options' => array( + 'disabled' => array( + 'highlights' => 'Highlights', + 'slider' => 'Slider', + ), + 'enabled' => array( + 'staticpage' => 'Static Page', + 'services' => 'Services' + ), + ), + ), + ) + + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Raw', 'redux-framework-demo' ), + 'id' => 'additional-raw', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/raw/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-raw_info_4', + 'type' => 'raw', + 'title' => __( 'Standard Raw Field', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Description', 'redux-framework-demo' ), + 'content' => $sampleHTML, + ), + array( + 'id' => 'opt-raw_info_5', + 'type' => 'raw', + 'full_width' => false, + 'title' => __( 'Raw Field full_width False', 'redux-framework-demo' ), + 'subtitle' => __( 'Subtitle', 'redux-framework-demo' ), + 'desc' => __( 'Description', 'redux-framework-demo' ), + 'content' => $sampleHTML, + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Advanced Features', 'redux-framework-demo' ), + 'icon' => 'el el-thumbs-up', + // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'Callback', 'redux-framework-demo' ), + 'id' => 'additional-callback', + 'desc' => __( 'For full documentation on this field, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/fields/callback/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-custom-callback', + 'type' => 'callback', + 'title' => __( 'Custom Field Callback', 'redux-framework-demo' ), + 'subtitle' => __( 'This is a completely unique field type', 'redux-framework-demo' ), + 'desc' => __( 'This is created with a callback function, so anything goes in this field. Make sure to define the function though.', 'redux-framework-demo' ), + 'callback' => 'redux_my_custom_field' + ), + ) + ) ); + + // -> START Validation + Redux::setSection( $opt_name, array( + 'title' => __( 'Field Validation', 'redux-framework-demo' ), + 'id' => 'validation', + 'desc' => __( 'For full documentation on validation, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/the-basics/validation/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-text-email', + 'type' => 'text', + 'title' => __( 'Text Option - Email Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This is a little space under the Field Title in the Options table, additional info is good in here.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'email', + 'msg' => 'custom error message', + 'default' => 'test@test.com', + ), + array( + 'id' => 'opt-text-post-type', + 'type' => 'text', + 'title' => __( 'Text Option with Data Attributes', 'redux-framework-demo' ), + 'subtitle' => __( 'You can also pass an options array if you want. Set the default to whatever you like.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'data' => 'post_type', + ), + array( + 'id' => 'opt-multi-text', + 'type' => 'multi_text', + 'title' => __( 'Multi Text Option - Color Validated', 'redux-framework-demo' ), + 'validate' => 'color', + 'subtitle' => __( 'If you enter an invalid color it will be removed. Try using the text "blue" as a color. ;)', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ) + ), + array( + 'id' => 'opt-text-url', + 'type' => 'text', + 'title' => __( 'Text Option - URL Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be a URL.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'url', + 'default' => 'http://reduxframework.com', + ), + array( + 'id' => 'opt-text-numeric', + 'type' => 'text', + 'title' => __( 'Text Option - Numeric Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be numeric.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'numeric', + 'default' => '0', + ), + array( + 'id' => 'opt-text-comma-numeric', + 'type' => 'text', + 'title' => __( 'Text Option - Comma Numeric Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be a comma separated string of numerical values.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'comma_numeric', + 'default' => '0', + ), + array( + 'id' => 'opt-text-no-special-chars', + 'type' => 'text', + 'title' => __( 'Text Option - No Special Chars Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'This must be a alpha numeric only.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'no_special_chars', + 'default' => '0' + ), + array( + 'id' => 'opt-text-str_replace', + 'type' => 'text', + 'title' => __( 'Text Option - Str Replace Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + 'desc' => __( 'This field\'s default value was changed by a filter hook!', 'redux-framework-demo' ), + 'validate' => 'str_replace', + 'str' => array( + 'search' => ' ', + 'replacement' => 'thisisaspace' + ), + 'default' => 'This is the default.' + ), + array( + 'id' => 'opt-text-preg_replace', + 'type' => 'text', + 'title' => __( 'Text Option - Preg Replace Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'preg_replace', + 'preg' => array( + 'pattern' => '/[^a-zA-Z_ -]/s', + 'replacement' => 'no numbers' + ), + 'default' => '0' + ), + array( + 'id' => 'opt-text-custom_validate', + 'type' => 'text', + 'title' => __( 'Text Option - Custom Callback Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + 'desc' => __( 'Enter 1 and click Save Changes for an error message, or enter 2 and click Save Changes for a warning message.', 'redux-framework-demo' ), + 'validate_callback' => 'redux_validate_callback_function', + 'default' => '0' + ), + //array( + // 'id' => 'opt-text-custom_validate-class', + // 'type' => 'text', + // 'title' => __( 'Text Option - Custom Callback Validated - Class', 'redux-framework-demo' ), + // 'subtitle' => __( 'You decide.', 'redux-framework-demo' ), + // 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + // 'validate_callback' => array( 'Class_Name', 'validate_callback_function' ), + // // You can pass the current class + // // Or pass the class name and method + // //'validate_callback' => array( + // // 'Redux_Framework_sample_config', + // // 'validate_callback_function' + // //), + // 'default' => '0' + //), + array( + 'id' => 'opt-textarea-no-html', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - No HTML Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'All HTML will be stripped', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'no_html', + 'default' => 'No HTML is allowed in here.' + ), + array( + 'id' => 'opt-textarea-html', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - HTML Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'HTML Allowed (wp_kses)', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'html', //see http://codex.wordpress.org/Function_Reference/wp_kses_post + 'default' => 'HTML is allowed in here.' + ), + array( + 'id' => 'opt-textarea-some-html', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - HTML Validated Custom', 'redux-framework-demo' ), + 'subtitle' => __( 'Custom HTML Allowed (wp_kses)', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'html_custom', + 'default' => '

    Some HTML is allowed in here.

    ', + 'allowed_html' => array( + 'a' => array( + 'href' => array(), + 'title' => array() + ), + 'br' => array(), + 'em' => array(), + 'strong' => array() + ) //see http://codex.wordpress.org/Function_Reference/wp_kses + ), + array( + 'id' => 'opt-textarea-js', + 'type' => 'textarea', + 'title' => __( 'Textarea Option - JS Validated', 'redux-framework-demo' ), + 'subtitle' => __( 'JS will be escaped', 'redux-framework-demo' ), + 'desc' => __( 'This is the description field, again good for additional info.', 'redux-framework-demo' ), + 'validate' => 'js' + ), + ) + ) ); + + // -> START Required + Redux::setSection( $opt_name, array( + 'title' => __( 'Field Required / Linking', 'redux-framework-demo' ), + 'id' => 'required', + 'desc' => __( 'For full documentation on validation, visit: ', 'redux-framework-demo' ) . 'http://docs.reduxframework.com/core/the-basics/required/', + 'subsection' => true, + 'fields' => array( + array( + 'id' => 'opt-required-basic', + 'type' => 'switch', + 'title' => 'Basic Required Example', + 'subtitle' => 'Click On to see the text field appear.', + 'default' => false + ), + array( + 'id' => 'opt-required-basic-text', + 'type' => 'text', + 'title' => 'Basic Text Field', + 'subtitle' => 'This text field is only show when the above switch is set to On, using the required argument.', + 'required' => array( 'opt-required-basic', '=', true ) + ), + array( + 'id' => 'opt-required-divide-1', + 'type' => 'divide' + ), + array( + 'id' => 'opt-required-nested', + 'type' => 'switch', + 'title' => 'Nested Required Example', + 'subtitle' => 'Click On to see another set of options appear.', + 'default' => false + ), + array( + 'id' => 'opt-required-nested-buttonset', + 'type' => 'button_set', + 'title' => 'Multiple Nested Required Examples', + 'subtitle' => 'Click any buton to show different fields based on their required statements.', + 'options' => array( + 'button-text' => 'Show Text Field', + 'button-textarea' => 'Show Textarea Field', + 'button-editor' => 'Show WP Editor', + 'button-ace' => 'Show ACE Editor' + ), + 'required' => array( 'opt-required-nested', '=', true ), + 'default' => 'button-text' + ), + array( + 'id' => 'opt-required-nested-text', + 'type' => 'text', + 'title' => 'Nested Text Field', + 'required' => array( 'opt-required-nested-buttonset', '=', 'button-text' ) + ), + array( + 'id' => 'opt-required-nested-textarea', + 'type' => 'textarea', + 'title' => 'Nested Textarea Field', + 'required' => array( 'opt-required-nested-buttonset', '=', 'button-textarea' ) + ), + array( + 'id' => 'opt-required-nested-editor', + 'type' => 'editor', + 'title' => 'Nested Editor Field', + 'required' => array( 'opt-required-nested-buttonset', '=', 'button-editor' ) + ), + array( + 'id' => 'opt-required-nested-ace', + 'type' => 'ace_editor', + 'title' => 'Nested ACE Editor Field', + 'required' => array( 'opt-required-nested-buttonset', '=', 'button-ace' ) + ), + array( + 'id' => 'opt-required-divide-2', + 'type' => 'divide' + ), + array( + 'id' => 'opt-required-select', + 'type' => 'select', + 'title' => 'Select Required Example', + 'subtitle' => 'Select a different option to display its value. Required may be used to display multiple & reusable fields', + 'options' => array( + 'no-sidebar' => 'No Sidebars', + 'left-sidebar' => 'Left Sidebar', + 'right-sidebar' => 'Right Sidebar', + 'both-sidebars' => 'Both Sidebars' + ), + 'default' => 'no-sidebar', + 'select2' => array( 'allowClear' => false ) + ), + array( + 'id' => 'opt-required-select-left-sidebar', + 'type' => 'select', + 'title' => 'Select Left Sidebar', + 'data' => 'sidebars', + 'default' => '', + 'required' => array( 'opt-required-select', '=', array( 'left-sidebar', 'both-sidebars' ) ) + ), + array( + 'id' => 'opt-required-select-right-sidebar', + 'type' => 'select', + 'title' => 'Select Right Sidebar', + 'data' => 'sidebars', + 'default' => '', + 'required' => array( 'opt-required-select', '=', array( 'right-sidebar', 'both-sidebars' ) ) + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'title' => __( 'WPML Integration', 'redux-framework-demo' ), + 'desc' => __( 'These fields can be fully translated by WPML (WordPress Multi-Language). This serves as an example for you to implement. For extra details look at our WPML Implementation documentation.', 'redux-framework-demo' ), + 'subsection' => true, + // 'submenu' => false, // Setting submenu to false on a given section will hide it from the WordPress sidebar menu! + 'fields' => array( + array( + 'id' => 'wpml-text', + 'type' => 'textarea', + 'title' => __( 'WPML Text', 'redux-framework-demo' ), + 'desc' => __( 'This string can be translated via WPML.', 'redux-framework-demo' ), + ), + array( + 'id' => 'wpml-multicheck', + 'type' => 'checkbox', + 'title' => __( 'WPML Multi Checkbox', 'redux-framework-demo' ), + 'desc' => __( 'You can literally translate the values via key.', 'redux-framework-demo' ), + //Must provide key => value pairs for multi checkbox options + 'options' => array( + '1' => 'Option 1', + '2' => 'Option 2', + '3' => 'Option 3' + ), + ), + ) + ) ); + + Redux::setSection( $opt_name, array( + 'icon' => 'el el-list-alt', + 'title' => __( 'Customizer Only', 'redux-framework-demo' ), + 'desc' => __( '

    This Section should be visible only in Customizer

    ', 'redux-framework-demo' ), + 'customizer_only' => true, + 'fields' => array( + array( + 'id' => 'opt-customizer-only', + 'type' => 'select', + 'title' => __( 'Customizer Only Option', 'redux-framework-demo' ), + 'subtitle' => __( 'The subtitle is NOT visible in customizer', 'redux-framework-demo' ), + 'desc' => __( 'The field desc is NOT visible in customizer.', 'redux-framework-demo' ), + 'customizer_only' => true, + //Must provide key => value pairs for select options + 'options' => array( + '1' => 'Opt 1', + '2' => 'Opt 2', + '3' => 'Opt 3' + ), + 'default' => '2' + ), + ) + ) ); + + if ( file_exists( dirname( __FILE__ ) . '/../README.md' ) ) { + $section = array( + 'icon' => 'el el-list-alt', + 'title' => __( 'Documentation', 'redux-framework-demo' ), + 'fields' => array( + array( + 'id' => '17', + 'type' => 'raw', + 'markdown' => true, + 'content' => file_get_contents( dirname( __FILE__ ) . '/../README.md' ) + ), + ), + ); + Redux::setSection( $opt_name, $section ); + } + /* + * <--- END SECTIONS + */ + + /** + * This is a test function that will let you see when the compiler hook occurs. + * It only runs if a field set with compiler=>true is changed. + * */ + function compiler_action( $options, $css, $changed_values ) { + echo '

    The compiler hook has run!

    '; + echo "
    ";
    +        print_r( $changed_values ); // Values that have changed since the last save
    +        echo "
    "; + //print_r($options); //Option values + //print_r($css); // Compiler selector CSS values compiler => array( CSS SELECTORS ) + } + + /** + * Custom function for the callback validation referenced above + * */ + if ( ! function_exists( 'redux_validate_callback_function' ) ) { + function redux_validate_callback_function( $field, $value, $existing_value ) { + $error = false; + $warning = false; + + //do your validation + if ( $value == 1 ) { $error = true; $value = $existing_value; - - } - */ + } elseif ( $value == 2 ) { + $warning = true; + $value = $existing_value; + } - $return['value'] = $value; + $return['value'] = $value; + + if ( $error == true ) { + $return['error'] = $field; $field['msg'] = 'your custom error message'; - if ( $error == true ) { - $return['error'] = $field; - } - - return $return; } - public function class_field_callback( $field, $value ) { - print_r( $field ); - echo '
    CLASS CALLBACK'; - print_r( $value ); + if ( $warning == true ) { + $return['warning'] = $field; + $field['msg'] = 'your custom warning message'; } + return $return; } - - global $reduxConfig; - $reduxConfig = new Redux_Framework_sample_config(); - } else { - echo "The class named Redux_Framework_sample_config has already been called. Developers, you need to prefix this class with your company name or you'll run into problems!"; } /** * Custom function for the callback referenced above */ - if ( ! function_exists( 'redux_my_custom_field' ) ): + if ( ! function_exists( 'redux_my_custom_field' ) ) { function redux_my_custom_field( $field, $value ) { print_r( $field ); echo '
    '; print_r( $value ); } - endif; + } /** - * Custom function for the callback validation referenced above + * Custom function for filtering the sections array. Good for child themes to override or add to the sections. + * Simply include this function in the child themes functions.php file. + * NOTE: the defined constants for URLs, and directories will NOT be available at this point in a child theme, + * so you must use get_template_directory_uri() if you want to use any of the built in icons * */ - if ( ! function_exists( 'redux_validate_callback_function' ) ): - function redux_validate_callback_function( $field, $value, $existing_value ) { - $error = true; - $value = 'just testing'; + function dynamic_section( $sections ) { + //$sections = array(); + $sections[] = array( + 'title' => __( 'Section via hook', 'redux-framework-demo' ), + 'desc' => __( '

    This is a section created by adding a filter to the sections array. Can be used by child themes to add/remove sections from the options.

    ', 'redux-framework-demo' ), + 'icon' => 'el el-paper-clip', + // Leave this as a blank section, no options just some intro text set above. + 'fields' => array() + ); - /* - do your validation + return $sections; + } - if(something) { - $value = $value; - } elseif(something else) { - $error = true; - $value = $existing_value; - - } - */ + /** + * Filter hook for filtering the args. Good for child themes to override or add to the args array. Can also be used in other functions. + * */ + function change_arguments( $args ) { + //$args['dev_mode'] = true; - $return['value'] = $value; - $field['msg'] = 'your custom error message'; - if ( $error == true ) { - $return['error'] = $field; - } + return $args; + } - return $return; + /** + * Filter hook for filtering the default value of any given field. Very useful in development mode. + * */ + function change_defaults( $defaults ) { + $defaults['str_replace'] = 'Testing filter hook!'; + + return $defaults; + } + + // Remove the demo link and the notice of integrated demo from the redux-framework plugin + function remove_demo() { + + // Used to hide the demo mode link from the plugin page. Only used when Redux is a plugin. + if ( class_exists( 'ReduxFrameworkPlugin' ) ) { + remove_filter( 'plugin_row_meta', array( + ReduxFrameworkPlugin::instance(), + 'plugin_metalinks' + ), null, 2 ); + + // Used to hide the activation notice informing users of the demo panel. Only used when Redux is a plugin. + remove_action( 'admin_notices', array( ReduxFrameworkPlugin::instance(), 'admin_notices' ) ); } - endif; + } diff --git a/admin/core/lib/ReduxFramework/wpml-config.xml b/admin/core/lib/ReduxFramework/wpml-config.xml index 0c8f2288..54f5786f 100644 --- a/admin/core/lib/ReduxFramework/wpml-config.xml +++ b/admin/core/lib/ReduxFramework/wpml-config.xml @@ -2,11 +2,6 @@ - - - - - \ No newline at end of file diff --git a/admin/core/um-admin-access.php b/admin/core/um-admin-access.php index 5d9cb200..79014e90 100644 --- a/admin/core/um-admin-access.php +++ b/admin/core/um-admin-access.php @@ -8,7 +8,7 @@ class UM_Admin_Access { add_action( 'load-post.php', array(&$this, 'add_metabox'), 9 ); add_action( 'load-post-new.php', array(&$this, 'add_metabox'), 9 ); - + } /*** @@ -38,6 +38,9 @@ class UM_Admin_Access { if ( strstr($post_type, 'um_') ) return true; + if ( $post_type == 'shop_order' ) + return true; + if ( !class_exists('UM_bbPress_API') && in_array($post_type,array('forum','topic','reply')) ) return true; @@ -97,7 +100,7 @@ class UM_Admin_Access { if ( !$this->core_post_type( $post_type ) ) { - add_meta_box('um-admin-access-settings', __('Access Control'), array(&$this, 'load_metabox_form'), $post_type, 'side', 'default'); + add_meta_box('um-admin-access-settings', __('Ultimate Member'), array(&$this, 'load_metabox_form'), $post_type, 'side', 'default'); } diff --git a/admin/core/um-admin-actions-fields.php b/admin/core/um-admin-actions-fields.php index 1a6a87ef..f008c1e7 100644 --- a/admin/core/um-admin-actions-fields.php +++ b/admin/core/um-admin-actions-fields.php @@ -33,9 +33,10 @@ $new_key = ltrim ($key,'_'); if ( $new_key == 'options' ) { - $save[ $_metakey ][$new_key] = explode(PHP_EOL, $val); + //$save[ $_metakey ][$new_key] = explode(PHP_EOL, $val); + $save[ $_metakey ][$new_key] = preg_split('/[\r\n]+/', $val, -1, PREG_SPLIT_NO_EMPTY); } else { - $save[ $_metakey ][$new_key] = $val; + $save[ $_metakey ][$new_key] = $val; } } else if ( strstr( $key, 'um_editor' ) ) { diff --git a/admin/core/um-admin-actions-modal.php b/admin/core/um-admin-actions-modal.php index 5aa6f266..2123f4a7 100644 --- a/admin/core/um-admin-actions-modal.php +++ b/admin/core/um-admin-actions-modal.php @@ -167,7 +167,7 @@ if ( !isset( $array['account_only'] ) && !isset( $array['private_use'] ) ) { ?> - + ' . __('None','ultimatemember') . '

    '; } ?> @@ -182,7 +182,7 @@ ?> - + ' . __('You did not create any custom fields', 'ultimatemember') . '

    '; } ?> diff --git a/admin/core/um-admin-actions.php b/admin/core/um-admin-actions.php index 17e31e81..db0db037 100644 --- a/admin/core/um-admin-actions.php +++ b/admin/core/um-admin-actions.php @@ -1,14 +1,183 @@ '; + echo ''; + echo ' + + '; + echo '

    Who can see content/posts in this category.

    '; + echo ''; + + echo '
    '; + echo ''; + foreach($ultimatemember->query->get_roles() as $role_id => $role) { + echo ''; + } + echo '

    ' . __('This is applicable only if you allow logged-in users to view the content.','ultimatemember') . '

    '; + echo '
    '; + + echo '
    '; + echo ''; + echo ''; + echo '

    ' . __('Users who cannot see content will get redirected to that URL.','ultimatemember') . '

    '; + echo '
    '; + + } + + function um_category_access_fields_edit( $term ){ + global $ultimatemember; + + $termID = $term->term_id; + $termMeta = get_option( "category_$termID" ); + $_um_accessible= (isset( $termMeta['_um_accessible'] ) )? $termMeta['_um_accessible'] : ''; + $_um_redirect= (isset( $termMeta['_um_redirect'] ) )? $termMeta['_um_redirect'] : ''; + $_um_roles= (isset( $termMeta['_um_roles'] ) )? $termMeta['_um_roles'] : ''; + + echo "
    "; + echo ""; + echo '"; + + echo ""; + echo ""; + echo '"; + + echo ""; + echo ""; + echo '"; + + } + + function um_category_access_fields_save( $termID ){ + + if ( isset( $_POST['_um_accessible'] ) ) { + + // get options from database - if not a array create a new one + $termMeta = get_option( "category_$termID" ); + if ( !is_array( $termMeta )) + $termMeta = array(); + + // get value and save it into the database - maybe you have to sanitize your values (urls, etc...) + $termMeta['_um_accessible'] = isset( $_POST['_um_accessible'] ) ? $_POST['_um_accessible'] : ''; + $termMeta['_um_redirect'] = isset( $_POST['_um_redirect'] ) ? $_POST['_um_redirect'] : ''; + $termMeta['_um_roles'] = isset( $_POST['_um_roles'] ) ? $_POST['_um_roles'] : ''; + + update_option( "category_$termID", $termMeta ); + } + } + + /*** + *** @Allow mass syncing for roles + ***/ + add_action('um_admin_do_action__mass_role_sync', 'um_admin_do_action__mass_role_sync'); + function um_admin_do_action__mass_role_sync( $action ){ + global $ultimatemember; + if ( !is_admin() || !current_user_can( 'edit_user' ) ) die(); + + if ( !isset($_REQUEST['post']) || !is_numeric( $_REQUEST['post'] ) ) die(); + + $post_id = (int) $_REQUEST['post']; + + $post = get_post( $post_id ); + $slug = $post->post_name; + + if ( $slug != $_REQUEST['um_role'] ) + die(); + + if ( get_post_meta( $post_id, '_um_synced_role', true ) != $_REQUEST['wp_role'] ) + die(); + + if ( $slug == 'admin' ) { + $_REQUEST['wp_role'] = 'administrator'; + update_post_meta( $post_id, '_um_synced_role', 'administrator' ); + } + + $wp_role = ( $_REQUEST['wp_role'] ) ? $_REQUEST['wp_role'] : 'subscriber'; + + $users = get_users( array( 'fields' => array( 'ID' ), 'meta_key' => 'role', 'meta_value' => $slug ) ); + foreach( $users as $user_id ) { + $wp_user_object = new WP_User( $user_id ); + $wp_user_object->set_role( $wp_role ); + } + + exit( wp_redirect( admin_url( 'post.php?post=' . $post_id ) . '&action=edit&message=1' ) ); + + } + + /*** + *** @add option for WPML + ***/ + add_action('um_admin_before_access_settings', 'um_admin_wpml_post_options', 10, 1 ); + function um_admin_wpml_post_options( $instance ) { + + if ( !function_exists('icl_get_current_language') ) + return; + + ?> + +

    + +

    + ui_on_off( '_um_wpml_user', 0 ); ?> +

    + +

    + +

    + ui_on_off( '_um_wpml_account', 0 ); ?> +

    + + post_name; - delete_option("um_cached_role_{$slug}"); + $is_core = get_post_meta( $post_id, '_um_core', true ); + if ( $is_core == 'member' || $is_core == 'admin' ) { + $slug = $is_core; + $where = array( 'ID' => $post_id ); + $wpdb->update( $wpdb->posts, array( 'post_name' => $slug ), $where ); + } + + delete_option("um_cached_role_{$slug}"); + // need to remove cache of all users $users = get_users( array( 'fields' => array( 'ID' ), 'meta_key' => 'role', 'meta_value' => $slug ) ); foreach( $users as $user ) { @@ -80,6 +249,44 @@ } + /*** + *** @clear user cache + ***/ + add_action('um_admin_do_action__user_cache', 'um_admin_do_action__user_cache'); + function um_admin_do_action__user_cache( $action ){ + global $ultimatemember; + if ( !is_admin() || !current_user_can('manage_options') ) die(); + + $all_options = wp_load_alloptions(); + foreach( $all_options as $k => $v ) { + if ( strstr( $k, 'um_cache_userdata_' ) ) { + delete_option( $k ); + } + } + + $url = admin_url('admin.php?page=ultimatemember'); + $url = add_query_arg('update','cleared_cache',$url); + exit( wp_redirect($url) ); + } + + /*** + *** @secure passwords + ***/ + add_action('um_admin_do_action__um_passwords_secured', 'um_admin_do_action__um_passwords_secured'); + function um_admin_do_action__um_passwords_secured( $action ){ + global $ultimatemember; + if ( !is_admin() || !current_user_can('manage_options') ) die(); + + $users = get_users(); + foreach( $users as $user ) { + delete_user_meta( $user->ID, 'confirm_user_password' ); + update_user_meta( $user->ID, 'submitted', '' ); + } + + update_option( 'um_passwords_secured', 1 ); + exit( wp_redirect( admin_url() ) ); + } + /*** *** @purge temp ***/ diff --git a/admin/core/um-admin-dashboard.php b/admin/core/um-admin-dashboard.php index 4ef97615..af1076f3 100644 --- a/admin/core/um-admin-dashboard.php +++ b/admin/core/um-admin-dashboard.php @@ -84,6 +84,7 @@ class UM_Admin_Dashboard { 'value' => 'awaiting_admin_review', 'compare' => '=' ); + $args = apply_filters('um_admin_pending_queue_filter', $args ); $users = new WP_User_Query( $args ); delete_option('um_cached_users_queue'); @@ -150,7 +151,11 @@ class UM_Admin_Dashboard { *** @extension menu ***/ function extension_menu() { + add_submenu_page( $this->slug, __('Extensions', $this->slug), '' .__('Extensions', $this->slug) . '', 'manage_options', $this->slug . '-extensions', array(&$this, 'admin_page') ); + + remove_submenu_page('tools.php','redux-about'); + } /*** @@ -170,6 +175,7 @@ class UM_Admin_Dashboard { add_meta_box('um-metaboxes-mainbox-1', __('Latest from our blog','ultimatemember'), array(&$this, 'um_news'), $this->pagehook, 'normal', 'core'); add_meta_box('um-metaboxes-sidebox-1', __('Purge Temp Files','ultimatemember'), array(&$this, 'purge_temp'), $this->pagehook, 'side', 'core'); + add_meta_box('um-metaboxes-sidebox-2', __('User Cache','ultimatemember'), array(&$this, 'user_cache'), $this->pagehook, 'side', 'core'); if ( $this->language_avaialable_not_installed() ) { add_meta_box('um-metaboxes-sidebox-2', __('Language','ultimatemember'), array(&$this, 'dl_language'), $this->pagehook, 'side', 'core'); @@ -214,6 +220,11 @@ class UM_Admin_Dashboard { include_once um_path . 'admin/templates/dashboard/purge.php'; } + function user_cache() { + global $ultimatemember; + include_once um_path . 'admin/templates/dashboard/cache.php'; + } + /*** *** @language not available ***/ diff --git a/admin/core/um-admin-dragdrop.php b/admin/core/um-admin-dragdrop.php index 9093286e..0cf8f07a 100644 --- a/admin/core/um-admin-dragdrop.php +++ b/admin/core/um-admin-dragdrop.php @@ -129,6 +129,10 @@ class UM_Admin_DragDrop { function load_field_order(){ global $ultimatemember; + + $screen = get_current_screen(); + + if ( !isset( $screen->id ) || $screen->id != 'um_form' ) return; ?> diff --git a/admin/core/um-admin-enqueue.php b/admin/core/um-admin-enqueue.php index 12aa5012..2d587665 100644 --- a/admin/core/um-admin-enqueue.php +++ b/admin/core/um-admin-enqueue.php @@ -175,6 +175,11 @@ class UM_Admin_Enqueue { wp_register_style('um_admin_misc', um_url . 'admin/assets/css/um-admin-misc.css' ); wp_enqueue_style('um_admin_misc'); + + if ( get_post_type() != 'shop_order' ) { + wp_register_style('um_admin_select2', um_url . 'admin/assets/css/um-admin-select2.css' ); + wp_enqueue_style('um_admin_select2'); + } } @@ -257,8 +262,10 @@ class UM_Admin_Enqueue { if ( $this->is_UM_admin() ) { - $ultimatemember->styles->wp_enqueue_scripts(); - + if ( get_post_type() != 'shop_order' ) { + $ultimatemember->styles->wp_enqueue_scripts(); + } + $this->load_global_css(); $this->load_form(); $this->load_modal(); diff --git a/admin/core/um-admin-metabox.php b/admin/core/um-admin-metabox.php index 0324e099..f9374a7c 100644 --- a/admin/core/um-admin-metabox.php +++ b/admin/core/um-admin-metabox.php @@ -14,22 +14,7 @@ class UM_Admin_Metabox { add_action( 'load-post.php', array(&$this, 'add_metabox'), 9 ); add_action( 'load-post-new.php', array(&$this, 'add_metabox'), 9 ); - - add_action( 'save_post', array(&$this, 'remove_rewrite_rules_option'), 10, 2 ); - - } - - /*** - *** @unset rewrite rules if the slug was changed - ***/ - function remove_rewrite_rules_option( $post_id ) { - if ( ! wp_is_post_revision( $post_id ) ) { - if ( get_post_meta($post_id, '_um_core', true) ) { - delete_option('um_flush_rules'); - } - - } } /*** @@ -266,21 +251,23 @@ class UM_Admin_Metabox { ***/ function add_metabox_role() { - add_meta_box('um-admin-form-admin', __('Administrative Permissions'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-sync', __('Sync with WordPress Role','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'side', 'default'); - add_meta_box('um-admin-form-general', __('General Permissions'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-admin', __('Administrative Permissions','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); - add_meta_box('um-admin-form-profile', __('Profile Access'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-general', __('General Permissions','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); - add_meta_box('um-admin-form-home', __('Homepage Options'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-profile', __('Profile Access','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); - add_meta_box('um-admin-form-register', __('Registration Options'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-home', __('Homepage Options','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); - add_meta_box('um-admin-form-login', __('Login Options'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-register', __('Registration Options','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); - add_meta_box('um-admin-form-logout', __('Logout Options'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-login', __('Login Options','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); - add_meta_box('um-admin-form-delete', __('Delete Options'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + add_meta_box('um-admin-form-logout', __('Logout Options','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); + + add_meta_box('um-admin-form-delete', __('Delete Options','ultimatemember'), array(&$this, 'load_metabox_role'), 'um_role', 'normal', 'default'); do_action('um_admin_custom_role_metaboxes'); @@ -375,6 +362,8 @@ class UM_Admin_Metabox { do_action('um_admin_before_saving_role_meta', $post_id ); + do_action('um_admin_before_save_role', $post_id, $post ); + foreach( $_POST as $k => $v ) { if (strstr($k, '_um_')){ update_post_meta( $post_id, $k, $v); @@ -383,6 +372,8 @@ class UM_Admin_Metabox { do_action('um_admin_after_editing_role', $post_id, $post); + do_action('um_admin_after_save_role', $post_id, $post ); + } /*** @@ -1305,7 +1296,7 @@ class UM_Admin_Metabox { ?>

    - +

    - +

    - +

    '; + + echo sprintf(__( 'Secure your database by removing hardcoded user passwords now. Click here to secure your database.', 'ultimatemember' ), add_query_arg('um_adm_action', 'um_passwords_secured') ); + + echo '

    '; + } + if ( !get_option('users_can_register') && !$hide_register_notice ) { echo '

    '; @@ -63,6 +71,43 @@ class UM_Admin_Notices { } + // Regarding page setup + $pages = $ultimatemember->permalinks->core; + if ( $pages && is_array( $pages ) ) { + + $err = false; + + foreach( $pages as $slug => $page_id ) { + + $page = get_post( $page_id ); + if ( !isset( $page->ID ) && in_array( $slug, array( 'user','account','members','register','login','logout','password-reset' ) ) ) { + $err = true; + } + + } + + if ( $err ) { + echo '

    ' . __('One or more of your Ultimate Member pages are not correctly setup. Please visit Ultimate Member > Settings to re-assign your missing pages.','ultimatemember') . '

    '; + } + + if ( isset( $pages['user'] ) ) { + $test = get_post( $pages['user'] ); + if ( isset( $test->post_parent ) && $test->post_parent > 0 ) { + echo '

    ' . __('Ultimate Member Setup Error: User page can not be a child page.','ultimatemember') . '

    '; + } + } + + if ( isset( $pages['account'] ) ) { + $test = get_post( $pages['account'] ); + if ( isset( $test->post_parent ) && $test->post_parent > 0 ) { + echo '

    ' . __('Ultimate Member Setup Error: Account page can not be a child page.','ultimatemember') . '

    '; + } + } + + } + + do_action('um_admin_after_main_notices'); + } @@ -127,7 +172,7 @@ class UM_Admin_Notices { $ignore = admin_url('users.php'); $messages[0]['err_content'] = sprintf(__('Are you sure you want to delete the selected user(s)? The following users will be deleted:

    %s

    This cannot be undone!','ultimatemember'), $users); - $messages[0]['err_content'] .= '

    ' . __('Remove','ultimatemember') . '  ' . __('Undo','ultimatemember') . '

    '; + $messages[0]['err_content'] .= '

    ' . __('Remove','ultimatemember') . '  ' . __('Undo','ultimatemember') . '

    '; break; @@ -139,6 +184,10 @@ class UM_Admin_Notices { $messages[0]['content'] = __('Your temp uploads directory is now clean.','ultimatemember'); break; + case 'cleared_cache': + $messages[0]['content'] = __('Your user cache is now removed.','ultimatemember'); + break; + case 'form_duplicated': $messages[0]['content'] = __('The form has been duplicated successfully.','ultimatemember'); break; diff --git a/admin/core/um-admin-redux.php b/admin/core/um-admin-redux.php index fb0f3254..be79852c 100644 --- a/admin/core/um-admin-redux.php +++ b/admin/core/um-admin-redux.php @@ -6,7 +6,6 @@ public $args = array(); public $sections = array(); - public $theme; public $ReduxFramework; public function __construct() { @@ -15,20 +14,13 @@ return; } - // This is needed. Bah WordPress bugs. ;) - if ( true == Redux_Helpers::isTheme( __FILE__ ) ) { - $this->initSettings(); - } else { - //add_action( 'plugins_loaded', array( $this, 'initSettings' ), 10 ); - add_action( 'wp_loaded', array( $this, 'initSettings' ), 10 ); - } + add_action( 'wp_loaded', array( $this, 'initSettings' ), 10 ); } public function initSettings() { $this->setArguments(); - $this->setHelpTabs(); $this->setSections(); if ( ! isset( $this->args['opt_name'] ) ) { // No errors please @@ -44,10 +36,6 @@ } - public function setHelpTabs() { - - } - public function setArguments() { $this->args = array( @@ -80,7 +68,7 @@ 'transient_time' => 60 * MINUTE_IN_SECONDS, 'output' => true, // Global shut-off for dynamic CSS output by the framework. Will also disable google fonts output 'output_tag' => true, // Allows dynamic CSS to be generated for customizer and google fonts, but stops the dynamic CSS from going to the head - 'footer_credit' => false, // Disable the footer credit of Redux. Please leave if you can help it. + 'footer_credit' => ' ', // Disable the footer credit of Redux. Please leave if you can help it. ); @@ -115,7 +103,7 @@ 'title' => 'We\'re on YouTube', 'icon' => 'um-icon-social-youtube' ); - + } } diff --git a/admin/core/um-admin-users.php b/admin/core/um-admin-users.php index bc8c4fdb..a5dd84b4 100644 --- a/admin/core/um-admin-users.php +++ b/admin/core/um-admin-users.php @@ -35,12 +35,14 @@ class UM_Admin_Users { unset( $actions['edit'] ); unset( $actions['delete'] ); - $actions['backend_profile'] = "" . __( 'Edit','ultimatemember' ) . ""; - $actions['frontend_profile'] = "" . __( 'Edit in frontend','ultimatemember') . ""; + $actions['frontend_profile'] = "" . __( 'Profile','ultimatemember') . ""; if ( um_user('submitted') ) { $actions['view_info'] = '' . __('Info','ultimatemember') . ''; } + + $actions = apply_filters('um_admin_user_row_actions', $actions, $user_id ); + return $actions; } @@ -48,17 +50,13 @@ class UM_Admin_Users { *** @sort users by newest first ***/ function sort_by_newest( $query ){ - global $pagenow; + global $wpdb, $pagenow; if ( is_admin() && $pagenow == 'users.php' ) { - - global $wpdb; - if (!isset($_REQUEST['orderby'])) { $query->query_vars["order"] = 'desc'; $query->query_orderby = " ORDER BY user_registered ".($query->query_vars["order"] == "desc" ? "desc " : "asc ");//set sort order } - } return $query; @@ -69,14 +67,11 @@ class UM_Admin_Users { *** @custom users filter ***/ function custom_users_filter( $query ){ - global $pagenow; + global $wpdb, $pagenow; if ( is_admin() && $pagenow=='users.php' && isset($_GET[ $this->custom_role ]) && $_GET[ $this->custom_role ] != '') { - $role = urldecode($_GET[ $this->custom_role ]); - - global $wpdb; - + $role = $_GET[ $this->custom_role ]; $query->query_where = str_replace('WHERE 1=1', "WHERE 1=1 AND {$wpdb->users}.ID IN ( @@ -91,17 +86,24 @@ class UM_Admin_Users { if ( is_admin() && $pagenow=='users.php' && isset($_GET[ 'status' ]) && $_GET[ 'status' ] != '') { $status = urldecode($_GET[ 'status' ]); - - global $wpdb; - - $query->query_where = - str_replace('WHERE 1=1', - "WHERE 1=1 AND {$wpdb->users}.ID IN ( - SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta - WHERE {$wpdb->usermeta}.meta_key = 'account_status' - AND {$wpdb->usermeta}.meta_value = '{$status}')", - $query->query_where + + if ( $status == 'needs-verification') { + $query->query_where = str_replace('WHERE 1=1', + "WHERE 1=1 AND {$wpdb->users}.ID IN ( + SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta + WHERE {$wpdb->usermeta}.meta_key = '_um_verified' + AND {$wpdb->usermeta}.meta_value = 'pending')", + $query->query_where ); + } else { + $query->query_where = str_replace('WHERE 1=1', + "WHERE 1=1 AND {$wpdb->users}.ID IN ( + SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta + WHERE {$wpdb->usermeta}.meta_key = 'account_status' + AND {$wpdb->usermeta}.meta_value = '{$status}')", + $query->query_where + ); + } } @@ -130,9 +132,11 @@ class UM_Admin_Users { 'awaiting_admin_review' => __('Pending review','ultimatemember'), 'awaiting_email_confirmation' => __('Waiting e-mail confirmation','ultimatemember'), 'inactive' => __('Inactive','ultimatemember'), - 'rejected' => __('Rejected','ultimatemember'), + 'rejected' => __('Rejected','ultimatemember') ); + $ultimatemember->query->count_users_by_status( 'unassigned' ); + foreach( $status as $k => $v ) { if ( isset($_REQUEST['status']) && $_REQUEST['status'] == $k ) { $current = 'class="current"'; @@ -143,6 +147,8 @@ class UM_Admin_Users { $views[ $k ] = ''. $v . ' ('.$ultimatemember->query->count_users_by_status( $k ).')'; } + $views = apply_filters('um_admin_views_users', $views ); + return $views; } @@ -270,7 +276,7 @@ class UM_Admin_Users { query->get_roles(); foreach( $roles as $role => $role_name ) { ?> - + @@ -313,7 +319,7 @@ class UM_Admin_Users { function manage_users_columns($columns) { $admin = new UM_Admin_Metabox(); - + $columns['um_role'] = __('Community Role','ultimatemember') . $admin->_tooltip( __('This is the membership role set by Ultimate Member plugin','ultimatemember') ); return $columns; @@ -327,9 +333,11 @@ class UM_Admin_Users { if ( $this->custom_role == $column_name ) { - delete_option( "um_cache_userdata_{$user_id}" ); + if ( get_option( "um_cache_userdata_{$user_id}" ) ) { + delete_option( "um_cache_userdata_{$user_id}" ); + } um_fetch_user( $user_id ); - return um_user('role_name'); + return $ultimatemember->user->get_role_name( um_user('role') ); } diff --git a/admin/templates/access/settings.php b/admin/templates/access/settings.php index d3f0d456..52c359fb 100644 --- a/admin/templates/access/settings.php +++ b/admin/templates/access/settings.php @@ -1,7 +1,14 @@ + +

    tooltip( __('Switch to yes to override global access settings','ultimatemember'), 'e'); ?>

    - ui_on_off('_um_custom_access_settings', 0, true, 1, '_um_custom_access_settings', 'xxx'); ?>

    @@ -17,6 +24,8 @@
    + +

    diff --git a/admin/templates/dashboard/cache.php b/admin/templates/dashboard/cache.php new file mode 100644 index 00000000..779c25af --- /dev/null +++ b/admin/templates/dashboard/cache.php @@ -0,0 +1,17 @@ + $v ) { + + if ( strstr( $k, 'um_cache_userdata_' ) ) { + $count++; + } + +} + + ?> + +

    Run this task from time to time to keep your DB clean.

    +

    Clear cache of users

    \ No newline at end of file diff --git a/admin/templates/directory/general.php b/admin/templates/directory/general.php index 8304b52d..d01d9df2 100644 --- a/admin/templates/directory/general.php +++ b/admin/templates/directory/general.php @@ -51,13 +51,13 @@ diff --git a/admin/templates/directory/search.php b/admin/templates/directory/search.php index 65e1a598..9b52f999 100644 --- a/admin/templates/directory/search.php +++ b/admin/templates/directory/search.php @@ -11,6 +11,15 @@

    +

    + + + + ui_on_off('_um_must_search', 0); ?> + + +

    +

    diff --git a/admin/templates/extensions.php b/admin/templates/extensions.php index 2b6a4b1a..b5d217d1 100644 --- a/admin/templates/extensions.php +++ b/admin/templates/extensions.php @@ -1,5 +1,26 @@ 'https://ultimatemember.com/extensions/verified-users/', + 'image' => 'https://ultimatemember.com/wp-content/uploads/2015/09/image.png', + 'name' => 'Verified Users', + 'desc' => 'Add a user verficiation system to your site so users can request verification and be manually verified by site admin.', + ); + + $premium['social-activity'] = array( + 'url' => 'https://ultimatemember.com/extensions/social-activity/', + 'image' => 'https://ultimatemember.com/wp-content/uploads/2015/08/socialactivity1.png', + 'name' => 'Social Activity', + 'desc' => 'Increase engagement and allow users to interact with each other by adding an activity system to your site.', + ); + + $premium['woocommerce'] = array( + 'url' => 'https://ultimatemember.com/extensions/woocommerce/', + 'image' => 'https://ultimatemember.com/wp-content/uploads/2015/05/woocommerce-01-copy.png', + 'name' => 'WooCommerce', + 'desc' => 'Integrates the popular e-commerce plugin WooCommerce with Ultimate Member.', + ); + $premium['private-messages'] = array( 'url' => 'https://ultimatemember.com/extensions/private-messages/', 'image' => 'https://ultimatemember.com/wp-content/uploads/2015/05/privatemessages-01-copy.png', diff --git a/admin/templates/role/sync.php b/admin/templates/role/sync.php new file mode 100644 index 00000000..e026cb07 --- /dev/null +++ b/admin/templates/role/sync.php @@ -0,0 +1,34 @@ +permalinks->get_current_url() ); +$post = get_post( get_the_ID() ); +$slug = $post->post_name; +$url = add_query_arg('um_role', $slug, $url); +$url = add_query_arg('wp_role', $saved_r, $url); + +?> + +

    + +
    + +

    + + + + +

    + +

    + +
    + +
    + +
    \ No newline at end of file diff --git a/admin/templates/welcome/about.php b/admin/templates/welcome/about.php index a6f27e5b..7ecf4630 100644 --- a/admin/templates/welcome/about.php +++ b/admin/templates/welcome/about.php @@ -1,66 +1,64 @@ -
    -

    Introducing Ultimate Member

    -
    - -

    Create beautiful community websites with WordPress!

    - +
    +

    Create beautiful community websites with WordPress!

    +
    +

    We'd like to thank you for installing Ultimate Member and we hope you enjoy using the plugin on your site. We created Ultimate Member with the aim of building a lightweight and powerful plugin that makes it extremely easy to make community and membership sites with WordPress.

    -

    We have big plans for Ultimate Member and we hope you will join us on our journey to creating the most popular community/membership plugin. If you’d like to get involved in improving the plugin you can join our community forum and discuss Ultimate Member with other users, provide feedback and make suggestions on how to improve the plugin. We also have an official GitHub repository where you can contribute directly to the plugin.

    +

    We have big plans for Ultimate Member and we hope you will join us on our journey to creating the most popular community/membership plugin. The plugin has been built to be extremely easy to use but if you run into any issues you can search our documentation and if you can’t find an answer to your issue in our docs, then you can create a support ticket. We also have an official GitHub repository where you can contribute directly to the plugin.

    -
    +
    -

    Key Features

    +

    Key Features

    -
    +
    -
    +

    Front-end Registration & Login

    Create unlimited, custom frontend registration & login forms easily with our drag-and-drop form builder.

    -
    +

    User Profiles

    Instant front-end user profiles that look beautiful. Allow users to view/edit profile from frontend, view each other's profile and more.

    -
    +

    User Roles

    Create unlimited, custom user roles and set up permissions for each user role easily.

    -
    +

    Profile Fields

    Create unlimited profile fields from image and file upload to ratings, checkboxes, and more, plus support for conditional fields

    -
    +

    Member Directories

    Create member directories with our directory creator and make them show the member levels you want.

    -
    +

    Content Restriction

    Global and individual (per page/post) content restriction settings have been built to give you flexibility on what content should be visible, and who exactly can see it.

    -
    +

    Conditional Menus

    Show different menu links to logged in users, logged out users, and individual member levels with our conditional menu feature.

    -
    +

    Mobile Adaptive

    Ultimate Member has been built with a mobile adaptive approach meaning the front-end features have a different layout depending on the device size.

    -
    +

    Advanced Form Builder

    Use our advanced drag and drop form builder to easily create unique registration, login and profiles with multiple-column support.

    diff --git a/admin/templates/welcome/about_header.php b/admin/templates/welcome/about_header.php index 16d2e3d8..08c61734 100644 --- a/admin/templates/welcome/about_header.php +++ b/admin/templates/welcome/about_header.php @@ -18,8 +18,8 @@

    - - + +

    diff --git a/admin/templates/welcome/start.php b/admin/templates/welcome/start.php index ec5bb4bd..ea98d82a 100644 --- a/admin/templates/welcome/start.php +++ b/admin/templates/welcome/start.php @@ -1,8 +1,8 @@ -
    -

    Getting Started

    +
    +

    Getting Started

    Ultimate Member has been designed to be as easy to use as possible and you shouldn’t run into any difficulties. However, the plugin contains lots of different elements so we have created the following page to help you get started with Ultimate Member.

    @@ -10,11 +10,11 @@
    -
    +
    -
    +
    -
    +

    Automatically installed pages

    Upon activation the plugin will install 7 core pages. These pages are required for the plugin to function correctly and cannot be deleted.

    @@ -30,7 +30,7 @@

    -
    +

    Getting started

    The plugin has several different elements in the WordPress admin that allow you to customize your community/membership site:

    @@ -52,9 +52,9 @@

    Need more help?

    -

    If you want to learn more about Ultimate Member you’ll need to register on our website where you will be able to interact and get help from other Ultimate Member users via our community forum and also be able to access other useful resources including the plugin’s documentation.

    +

    If you have run into an issue with Ultimate Member, you should first have a look at our documentation and perform a search of the docs. If, after performing a search of the docs you can not find anything related to your issue/question then you can submit a support ticket.

    -

    Join the Ultimate Member Community

    +

    View Documentation

    diff --git a/admin/um-admin-init.php b/admin/um-admin-init.php index efeffdf7..a76e8fe2 100644 --- a/admin/um-admin-init.php +++ b/admin/um-admin-init.php @@ -14,7 +14,7 @@ class UM_Admin_API { if ( !class_exists( 'ReduxFramework' ) && file_exists( um_path . 'admin/core/lib/ReduxFramework/ReduxCore/framework.php' ) ) { require_once( um_path . 'admin/core/lib/ReduxFramework/ReduxCore/framework.php' ); } - if ( file_exists ( um_path . 'admin/core/um-admin-redux.php' ) ) { + if ( !isset( $redux_demo ) && file_exists( um_path . 'admin/core/um-admin-redux.php' ) ) { require_once( um_path . 'admin/core/um-admin-redux.php' ); } diff --git a/assets/css/um-account.css b/assets/css/um-account.css index cf33ccfc..c277fb6c 100644 --- a/assets/css/um-account.css +++ b/assets/css/um-account.css @@ -25,6 +25,10 @@ box-sizing: border-box; } +.um-account-main a { + border-bottom: none !important; +} + .um-account-tab { display: none; } @@ -97,7 +101,7 @@ text-decoration: none !important; position: relative; padding-left: 40px; - border-bottom: 1px solid #eee; + border-bottom: 1px solid #eee !important; transition: all .2s linear; font-size: 14px; } diff --git a/assets/css/um-misc.css b/assets/css/um-misc.css index d8193470..88272f02 100644 --- a/assets/css/um-misc.css +++ b/assets/css/um-misc.css @@ -62,4 +62,30 @@ line-height: 36px; height: 36px; font-size: 20px; +} + +/* pop effect */ +@-webkit-keyframes um-effect-pop { + 50% { + -webkit-transform: scale(1.2); + transform: scale(1.2); + } +} + +@keyframes um-effect-pop { + 50% { + -webkit-transform: scale(1.2); + transform: scale(1.2); + } +} + +.um-effect-pop { + -webkit-animation-name: um-effect-pop; + animation-name: um-effect-pop; + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; } \ No newline at end of file diff --git a/assets/css/um-profile.css b/assets/css/um-profile.css index 5bf8c71f..ca1da56a 100644 --- a/assets/css/um-profile.css +++ b/assets/css/um-profile.css @@ -313,7 +313,7 @@ font-weight: normal; .um-profile-note { display: none; text-align: center; - margin-top: 20px; + padding-top: 20px; color: #666; } @@ -326,7 +326,7 @@ font-weight: normal; .um-profile-note i.um-faicon-lock{ position: relative; - top: 1px; + top: 2px; display: inline-block; font-size: 24px; height: auto; @@ -408,6 +408,7 @@ font-weight: normal; font-size: 15px; font-weight: 600; margin: 0 20px; + border-bottom: none !important; } .um-profile-subnav a:hover {color: #333} diff --git a/assets/css/um-responsive.css b/assets/css/um-responsive.css index e56378f3..a9cb4ffa 100644 --- a/assets/css/um-responsive.css +++ b/assets/css/um-responsive.css @@ -627,14 +627,6 @@ div.uimob800 .um-gutter-sizer {width: 4%} /********************************************/ -div.uimob960 .um-col-131, -div.uimob960 .um-col-132, -div.uimob960 .um-col-133 { - float: none; - width: 100%; - margin: 0; -} - div.uimob960 .um-search { padding: 20px 0 !important; width: 100% !important; diff --git a/assets/css/um-styles.css b/assets/css/um-styles.css index 59060878..8ae1d044 100644 --- a/assets/css/um-styles.css +++ b/assets/css/um-styles.css @@ -324,6 +324,7 @@ p.um-notice.warning { .um-field-area { position: relative; + word-wrap: break-word; } .um-field-value p { @@ -547,10 +548,11 @@ p.um-notice.warning { */ .um div.disabled, +.um-disabled, .um input[type=submit]:disabled, .um input[type=text]:disabled { opacity: 0.6 !important; - cursor: default !important; + cursor: no-drop !important; } input[type=submit].um-button, @@ -566,6 +568,7 @@ input[type=submit].um-button:focus { outline: none !important; margin: 0; opacity: 1; + -webkit-appearance: none; } input[type=submit].um-button:hover { @@ -713,9 +716,6 @@ div.um-photo img {max-height: 300px; max-width: 100%;} span.um-req { margin: 0 0 0 8px; - font-size: x-large; + font-size: 14px; display: inline-block; - font-weight: bold; - position: relative; - top: 8px; } \ No newline at end of file diff --git a/assets/css/um.min.css b/assets/css/um.min.css index 4fdce2d3..37c7d14d 100644 --- a/assets/css/um.min.css +++ b/assets/css/um.min.css @@ -1,2 +1,2 @@ -.um-youtube,.um-vimeo,.um-googlemap{position:relative;height:0;overflow:hidden}.um-youtube{padding-bottom:56.25%}.um-vimeo{padding-bottom:56.25%}.um-googlemap{padding-bottom:75%}.um-youtube iframe,.um-vimeo iframe,.um-googlemap iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:none;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:0}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal.mCSB_outside>.mCSB_container{min-height:100%}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover ~ .mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp:hover,.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonUp:active,.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.9)}.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.1)}.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.15)}.mCS-rounded.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=")}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to right,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d.mCSB_scrollTools,.mCS-3d-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,0.2);box-shadow:inset 1px 0 1px rgba(0,0,0,0.5),inset -1px 0 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.5),inset 0 -1px 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);box-shadow:inset 1px 0 1px rgba(0,0,0,0.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick.mCSB_scrollTools_vertical,.mCS-3d-thick-dark.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools_horizontal,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4),inset -1px 0 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:rgba(0,0,0,0.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:rgba(0,0,0,0.1)}.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1)}.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,0.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)} -.um-login.um-logout{max-width:300px!important}.um-misc-with-img{position:relative;font-size:15px;border-bottom:3px solid #eee;text-align:center;margin-bottom:14px;padding-top:4px;padding-bottom:14px}.um-misc-img{text-align:center}.um-misc-img img{border-radius:999px;height:auto!important;display:inline-block!important}.um-misc-ul,.um-misc-ul li{font-size:14px}.um-profile-connect.um-member-connect{padding:5px 0 10px}.um-profile-connect.um-member-connect a{text-align:center;width:36px;line-height:36px;height:36px;font-size:20px}@charset "UTF-8";@font-face{font-family:FontAwesome;src:url(../font/fontawesome-webfont.eot?v=4.2.0);src:url(../font/fontawesome-webfont.eot?v=4.2.0#iefix) format("embedded-opentype"),url(../font/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../font/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../font/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}[class*=" um-faicon-"]:before,[class^=um-faicon-]:before{font-family:FontAwesome!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-faicon-glass:before{content:"\f000"}.um-faicon-music:before{content:"\f001"}.um-faicon-search:before{content:"\f002"}.um-faicon-envelope-o:before{content:"\f003"}.um-faicon-heart:before{content:"\f004"}.um-faicon-star:before{content:"\f005"}.um-faicon-star-o:before{content:"\f006"}.um-faicon-user:before{content:"\f007"}.um-faicon-film:before{content:"\f008"}.um-faicon-th-large:before{content:"\f009"}.um-faicon-th:before{content:"\f00a"}.um-faicon-th-list:before{content:"\f00b"}.um-faicon-check:before{content:"\f00c"}.um-faicon-close:before,.um-faicon-remove:before,.um-faicon-times:before{content:"\f00d"}.um-faicon-search-plus:before{content:"\f00e"}.um-faicon-search-minus:before{content:"\f010"}.um-faicon-power-off:before{content:"\f011"}.um-faicon-signal:before{content:"\f012"}.um-faicon-cog:before,.um-faicon-gear:before{content:"\f013"}.um-faicon-trash-o:before{content:"\f014"}.um-faicon-home:before{content:"\f015"}.um-faicon-file-o:before{content:"\f016"}.um-faicon-clock-o:before{content:"\f017"}.um-faicon-road:before{content:"\f018"}.um-faicon-download:before{content:"\f019"}.um-faicon-arrow-circle-o-down:before{content:"\f01a"}.um-faicon-arrow-circle-o-up:before{content:"\f01b"}.um-faicon-inbox:before{content:"\f01c"}.um-faicon-play-circle-o:before{content:"\f01d"}.um-faicon-repeat:before,.um-faicon-rotate-right:before{content:"\f01e"}.um-faicon-refresh:before{content:"\f021"}.um-faicon-list-alt:before{content:"\f022"}.um-faicon-lock:before{content:"\f023"}.um-faicon-flag:before{content:"\f024"}.um-faicon-headphones:before{content:"\f025"}.um-faicon-volume-off:before{content:"\f026"}.um-faicon-volume-down:before{content:"\f027"}.um-faicon-volume-up:before{content:"\f028"}.um-faicon-qrcode:before{content:"\f029"}.um-faicon-barcode:before{content:"\f02a"}.um-faicon-tag:before{content:"\f02b"}.um-faicon-tags:before{content:"\f02c"}.um-faicon-book:before{content:"\f02d"}.um-faicon-bookmark:before{content:"\f02e"}.um-faicon-print:before{content:"\f02f"}.um-faicon-camera:before{content:"\f030"}.um-faicon-font:before{content:"\f031"}.um-faicon-bold:before{content:"\f032"}.um-faicon-italic:before{content:"\f033"}.um-faicon-text-height:before{content:"\f034"}.um-faicon-text-width:before{content:"\f035"}.um-faicon-align-left:before{content:"\f036"}.um-faicon-align-center:before{content:"\f037"}.um-faicon-align-right:before{content:"\f038"}.um-faicon-align-justify:before{content:"\f039"}.um-faicon-list:before{content:"\f03a"}.um-faicon-dedent:before,.um-faicon-outdent:before{content:"\f03b"}.um-faicon-indent:before{content:"\f03c"}.um-faicon-video-camera:before{content:"\f03d"}.um-faicon-image:before,.um-faicon-photo:before,.um-faicon-picture-o:before{content:"\f03e"}.um-faicon-pencil:before{content:"\f040"}.um-faicon-map-marker:before{content:"\f041"}.um-faicon-adjust:before{content:"\f042"}.um-faicon-tint:before{content:"\f043"}.um-faicon-edit:before,.um-faicon-pencil-square-o:before{content:"\f044"}.um-faicon-share-square-o:before{content:"\f045"}.um-faicon-check-square-o:before{content:"\f046"}.um-faicon-arrows:before{content:"\f047"}.um-faicon-step-backward:before{content:"\f048"}.um-faicon-fast-backward:before{content:"\f049"}.um-faicon-backward:before{content:"\f04a"}.um-faicon-play:before{content:"\f04b"}.um-faicon-pause:before{content:"\f04c"}.um-faicon-stop:before{content:"\f04d"}.um-faicon-forward:before{content:"\f04e"}.um-faicon-fast-forward:before{content:"\f050"}.um-faicon-step-forward:before{content:"\f051"}.um-faicon-eject:before{content:"\f052"}.um-faicon-chevron-left:before{content:"\f053"}.um-faicon-chevron-right:before{content:"\f054"}.um-faicon-plus-circle:before{content:"\f055"}.um-faicon-minus-circle:before{content:"\f056"}.um-faicon-times-circle:before{content:"\f057"}.um-faicon-check-circle:before{content:"\f058"}.um-faicon-question-circle:before{content:"\f059"}.um-faicon-info-circle:before{content:"\f05a"}.um-faicon-crosshairs:before{content:"\f05b"}.um-faicon-times-circle-o:before{content:"\f05c"}.um-faicon-check-circle-o:before{content:"\f05d"}.um-faicon-ban:before{content:"\f05e"}.um-faicon-arrow-left:before{content:"\f060"}.um-faicon-arrow-right:before{content:"\f061"}.um-faicon-arrow-up:before{content:"\f062"}.um-faicon-arrow-down:before{content:"\f063"}.um-faicon-mail-forward:before,.um-faicon-share:before{content:"\f064"}.um-faicon-expand:before{content:"\f065"}.um-faicon-compress:before{content:"\f066"}.um-faicon-plus:before{content:"\f067"}.um-faicon-minus:before{content:"\f068"}.um-faicon-asterisk:before{content:"\f069"}.um-faicon-exclamation-circle:before{content:"\f06a"}.um-faicon-gift:before{content:"\f06b"}.um-faicon-leaf:before{content:"\f06c"}.um-faicon-fire:before{content:"\f06d"}.um-faicon-eye:before{content:"\f06e"}.um-faicon-eye-slash:before{content:"\f070"}.um-faicon-exclamation-triangle:before,.um-faicon-warning:before{content:"\f071"}.um-faicon-plane:before{content:"\f072"}.um-faicon-calendar:before{content:"\f073"}.um-faicon-random:before{content:"\f074"}.um-faicon-comment:before{content:"\f075"}.um-faicon-magnet:before{content:"\f076"}.um-faicon-chevron-up:before{content:"\f077"}.um-faicon-chevron-down:before{content:"\f078"}.um-faicon-retweet:before{content:"\f079"}.um-faicon-shopping-cart:before{content:"\f07a"}.um-faicon-folder:before{content:"\f07b"}.um-faicon-folder-open:before{content:"\f07c"}.um-faicon-arrows-v:before{content:"\f07d"}.um-faicon-arrows-h:before{content:"\f07e"}.um-faicon-bar-chart-o:before,.um-faicon-bar-chart:before{content:"\f080"}.um-faicon-twitter-square:before{content:"\f081"}.um-faicon-facebook-square:before{content:"\f082"}.um-faicon-camera-retro:before{content:"\f083"}.um-faicon-key:before{content:"\f084"}.um-faicon-cogs:before,.um-faicon-gears:before{content:"\f085"}.um-faicon-comments:before{content:"\f086"}.um-faicon-thumbs-o-up:before{content:"\f087"}.um-faicon-thumbs-o-down:before{content:"\f088"}.um-faicon-star-half:before{content:"\f089"}.um-faicon-heart-o:before{content:"\f08a"}.um-faicon-sign-out:before{content:"\f08b"}.um-faicon-linkedin-square:before{content:"\f08c"}.um-faicon-thumb-tack:before{content:"\f08d"}.um-faicon-external-link:before{content:"\f08e"}.um-faicon-sign-in:before{content:"\f090"}.um-faicon-trophy:before{content:"\f091"}.um-faicon-github-square:before{content:"\f092"}.um-faicon-upload:before{content:"\f093"}.um-faicon-lemon-o:before{content:"\f094"}.um-faicon-phone:before{content:"\f095"}.um-faicon-square-o:before{content:"\f096"}.um-faicon-bookmark-o:before{content:"\f097"}.um-faicon-phone-square:before{content:"\f098"}.um-faicon-twitter:before{content:"\f099"}.um-faicon-facebook:before{content:"\f09a"}.um-faicon-github:before{content:"\f09b"}.um-faicon-unlock:before{content:"\f09c"}.um-faicon-credit-card:before{content:"\f09d"}.um-faicon-rss:before{content:"\f09e"}.um-faicon-hdd-o:before{content:"\f0a0"}.um-faicon-bullhorn:before{content:"\f0a1"}.um-faicon-bell:before{content:"\f0f3"}.um-faicon-certificate:before{content:"\f0a3"}.um-faicon-hand-o-right:before{content:"\f0a4"}.um-faicon-hand-o-left:before{content:"\f0a5"}.um-faicon-hand-o-up:before{content:"\f0a6"}.um-faicon-hand-o-down:before{content:"\f0a7"}.um-faicon-arrow-circle-left:before{content:"\f0a8"}.um-faicon-arrow-circle-right:before{content:"\f0a9"}.um-faicon-arrow-circle-up:before{content:"\f0aa"}.um-faicon-arrow-circle-down:before{content:"\f0ab"}.um-faicon-globe:before{content:"\f0ac"}.um-faicon-wrench:before{content:"\f0ad"}.um-faicon-tasks:before{content:"\f0ae"}.um-faicon-filter:before{content:"\f0b0"}.um-faicon-briefcase:before{content:"\f0b1"}.um-faicon-arrows-alt:before{content:"\f0b2"}.um-faicon-group:before,.um-faicon-users:before{content:"\f0c0"}.um-faicon-chain:before,.um-faicon-link:before{content:"\f0c1"}.um-faicon-cloud:before{content:"\f0c2"}.um-faicon-flask:before{content:"\f0c3"}.um-faicon-cut:before,.um-faicon-scissors:before{content:"\f0c4"}.um-faicon-copy:before,.um-faicon-files-o:before{content:"\f0c5"}.um-faicon-paperclip:before{content:"\f0c6"}.um-faicon-floppy-o:before,.um-faicon-save:before{content:"\f0c7"}.um-faicon-square:before{content:"\f0c8"}.um-faicon-bars:before,.um-faicon-navicon:before,.um-faicon-reorder:before{content:"\f0c9"}.um-faicon-list-ul:before{content:"\f0ca"}.um-faicon-list-ol:before{content:"\f0cb"}.um-faicon-strikethrough:before{content:"\f0cc"}.um-faicon-underline:before{content:"\f0cd"}.um-faicon-table:before{content:"\f0ce"}.um-faicon-magic:before{content:"\f0d0"}.um-faicon-truck:before{content:"\f0d1"}.um-faicon-pinterest:before{content:"\f0d2"}.um-faicon-pinterest-square:before{content:"\f0d3"}.um-faicon-google-plus-square:before{content:"\f0d4"}.um-faicon-google-plus:before{content:"\f0d5"}.um-faicon-money:before{content:"\f0d6"}.um-faicon-caret-down:before{content:"\f0d7"}.um-faicon-caret-up:before{content:"\f0d8"}.um-faicon-caret-left:before{content:"\f0d9"}.um-faicon-caret-right:before{content:"\f0da"}.um-faicon-columns:before{content:"\f0db"}.um-faicon-sort:before,.um-faicon-unsorted:before{content:"\f0dc"}.um-faicon-sort-desc:before,.um-faicon-sort-down:before{content:"\f0dd"}.um-faicon-sort-asc:before,.um-faicon-sort-up:before{content:"\f0de"}.um-faicon-envelope:before{content:"\f0e0"}.um-faicon-linkedin:before{content:"\f0e1"}.um-faicon-rotate-left:before,.um-faicon-undo:before{content:"\f0e2"}.um-faicon-gavel:before,.um-faicon-legal:before{content:"\f0e3"}.um-faicon-dashboard:before,.um-faicon-tachometer:before{content:"\f0e4"}.um-faicon-comment-o:before{content:"\f0e5"}.um-faicon-comments-o:before{content:"\f0e6"}.um-faicon-bolt:before,.um-faicon-flash:before{content:"\f0e7"}.um-faicon-sitemap:before{content:"\f0e8"}.um-faicon-umbrella:before{content:"\f0e9"}.um-faicon-clipboard:before,.um-faicon-paste:before{content:"\f0ea"}.um-faicon-lightbulb-o:before{content:"\f0eb"}.um-faicon-exchange:before{content:"\f0ec"}.um-faicon-cloud-download:before{content:"\f0ed"}.um-faicon-cloud-upload:before{content:"\f0ee"}.um-faicon-user-md:before{content:"\f0f0"}.um-faicon-stethoscope:before{content:"\f0f1"}.um-faicon-suitcase:before{content:"\f0f2"}.um-faicon-bell-o:before{content:"\f0a2"}.um-faicon-coffee:before{content:"\f0f4"}.um-faicon-cutlery:before{content:"\f0f5"}.um-faicon-file-text-o:before{content:"\f0f6"}.um-faicon-building-o:before{content:"\f0f7"}.um-faicon-hospital-o:before{content:"\f0f8"}.um-faicon-ambulance:before{content:"\f0f9"}.um-faicon-medkit:before{content:"\f0fa"}.um-faicon-fighter-jet:before{content:"\f0fb"}.um-faicon-beer:before{content:"\f0fc"}.um-faicon-h-square:before{content:"\f0fd"}.um-faicon-plus-square:before{content:"\f0fe"}.um-faicon-angle-double-left:before{content:"\f100"}.um-faicon-angle-double-right:before{content:"\f101"}.um-faicon-angle-double-up:before{content:"\f102"}.um-faicon-angle-double-down:before{content:"\f103"}.um-faicon-angle-left:before{content:"\f104"}.um-faicon-angle-right:before{content:"\f105"}.um-faicon-angle-up:before{content:"\f106"}.um-faicon-angle-down:before{content:"\f107"}.um-faicon-desktop:before{content:"\f108"}.um-faicon-laptop:before{content:"\f109"}.um-faicon-tablet:before{content:"\f10a"}.um-faicon-mobile-phone:before,.um-faicon-mobile:before{content:"\f10b"}.um-faicon-circle-o:before{content:"\f10c"}.um-faicon-quote-left:before{content:"\f10d"}.um-faicon-quote-right:before{content:"\f10e"}.um-faicon-spinner:before{content:"\f110"}.um-faicon-circle:before{content:"\f111"}.um-faicon-mail-reply:before,.um-faicon-reply:before{content:"\f112"}.um-faicon-github-alt:before{content:"\f113"}.um-faicon-folder-o:before{content:"\f114"}.um-faicon-folder-open-o:before{content:"\f115"}.um-faicon-smile-o:before{content:"\f118"}.um-faicon-frown-o:before{content:"\f119"}.um-faicon-meh-o:before{content:"\f11a"}.um-faicon-gamepad:before{content:"\f11b"}.um-faicon-keyboard-o:before{content:"\f11c"}.um-faicon-flag-o:before{content:"\f11d"}.um-faicon-flag-checkered:before{content:"\f11e"}.um-faicon-terminal:before{content:"\f120"}.um-faicon-code:before{content:"\f121"}.um-faicon-mail-reply-all:before,.um-faicon-reply-all:before{content:"\f122"}.um-faicon-star-half-empty:before,.um-faicon-star-half-full:before,.um-faicon-star-half-o:before{content:"\f123"}.um-faicon-location-arrow:before{content:"\f124"}.um-faicon-crop:before{content:"\f125"}.um-faicon-code-fork:before{content:"\f126"}.um-faicon-chain-broken:before,.um-faicon-unlink:before{content:"\f127"}.um-faicon-question:before{content:"\f128"}.um-faicon-info:before{content:"\f129"}.um-faicon-exclamation:before{content:"\f12a"}.um-faicon-superscript:before{content:"\f12b"}.um-faicon-subscript:before{content:"\f12c"}.um-faicon-eraser:before{content:"\f12d"}.um-faicon-puzzle-piece:before{content:"\f12e"}.um-faicon-microphone:before{content:"\f130"}.um-faicon-microphone-slash:before{content:"\f131"}.um-faicon-shield:before{content:"\f132"}.um-faicon-calendar-o:before{content:"\f133"}.um-faicon-fire-extinguisher:before{content:"\f134"}.um-faicon-rocket:before{content:"\f135"}.um-faicon-maxcdn:before{content:"\f136"}.um-faicon-chevron-circle-left:before{content:"\f137"}.um-faicon-chevron-circle-right:before{content:"\f138"}.um-faicon-chevron-circle-up:before{content:"\f139"}.um-faicon-chevron-circle-down:before{content:"\f13a"}.um-faicon-html5:before{content:"\f13b"}.um-faicon-css3:before{content:"\f13c"}.um-faicon-anchor:before{content:"\f13d"}.um-faicon-unlock-alt:before{content:"\f13e"}.um-faicon-bullseye:before{content:"\f140"}.um-faicon-ellipsis-h:before{content:"\f141"}.um-faicon-ellipsis-v:before{content:"\f142"}.um-faicon-rss-square:before{content:"\f143"}.um-faicon-play-circle:before{content:"\f144"}.um-faicon-ticket:before{content:"\f145"}.um-faicon-minus-square:before{content:"\f146"}.um-faicon-minus-square-o:before{content:"\f147"}.um-faicon-level-up:before{content:"\f148"}.um-faicon-level-down:before{content:"\f149"}.um-faicon-check-square:before{content:"\f14a"}.um-faicon-pencil-square:before{content:"\f14b"}.um-faicon-external-link-square:before{content:"\f14c"}.um-faicon-share-square:before{content:"\f14d"}.um-faicon-compass:before{content:"\f14e"}.um-faicon-caret-square-o-down:before,.um-faicon-toggle-down:before{content:"\f150"}.um-faicon-caret-square-o-up:before,.um-faicon-toggle-up:before{content:"\f151"}.um-faicon-caret-square-o-right:before,.um-faicon-toggle-right:before{content:"\f152"}.um-faicon-eur:before,.um-faicon-euro:before{content:"\f153"}.um-faicon-gbp:before{content:"\f154"}.um-faicon-dollar:before,.um-faicon-usd:before{content:"\f155"}.um-faicon-inr:before,.um-faicon-rupee:before{content:"\f156"}.um-faicon-cny:before,.um-faicon-jpy:before,.um-faicon-rmb:before,.um-faicon-yen:before{content:"\f157"}.um-faicon-rouble:before,.um-faicon-rub:before,.um-faicon-ruble:before{content:"\f158"}.um-faicon-krw:before,.um-faicon-won:before{content:"\f159"}.um-faicon-bitcoin:before,.um-faicon-btc:before{content:"\f15a"}.um-faicon-file:before{content:"\f15b"}.um-faicon-file-text:before{content:"\f15c"}.um-faicon-sort-alpha-asc:before{content:"\f15d"}.um-faicon-sort-alpha-desc:before{content:"\f15e"}.um-faicon-sort-amount-asc:before{content:"\f160"}.um-faicon-sort-amount-desc:before{content:"\f161"}.um-faicon-sort-numeric-asc:before{content:"\f162"}.um-faicon-sort-numeric-desc:before{content:"\f163"}.um-faicon-thumbs-up:before{content:"\f164"}.um-faicon-thumbs-down:before{content:"\f165"}.um-faicon-youtube-square:before{content:"\f166"}.um-faicon-youtube:before{content:"\f167"}.um-faicon-xing:before{content:"\f168"}.um-faicon-xing-square:before{content:"\f169"}.um-faicon-youtube-play:before{content:"\f16a"}.um-faicon-dropbox:before{content:"\f16b"}.um-faicon-stack-overflow:before{content:"\f16c"}.um-faicon-instagram:before{content:"\f16d"}.um-faicon-flickr:before{content:"\f16e"}.um-faicon-adn:before{content:"\f170"}.um-faicon-bitbucket:before{content:"\f171"}.um-faicon-bitbucket-square:before{content:"\f172"}.um-faicon-tumblr:before{content:"\f173"}.um-faicon-tumblr-square:before{content:"\f174"}.um-faicon-long-arrow-down:before{content:"\f175"}.um-faicon-long-arrow-up:before{content:"\f176"}.um-faicon-long-arrow-left:before{content:"\f177"}.um-faicon-long-arrow-right:before{content:"\f178"}.um-faicon-apple:before{content:"\f179"}.um-faicon-windows:before{content:"\f17a"}.um-faicon-android:before{content:"\f17b"}.um-faicon-linux:before{content:"\f17c"}.um-faicon-dribbble:before{content:"\f17d"}.um-faicon-skype:before{content:"\f17e"}.um-faicon-foursquare:before{content:"\f180"}.um-faicon-trello:before{content:"\f181"}.um-faicon-female:before{content:"\f182"}.um-faicon-male:before{content:"\f183"}.um-faicon-gittip:before{content:"\f184"}.um-faicon-sun-o:before{content:"\f185"}.um-faicon-moon-o:before{content:"\f186"}.um-faicon-archive:before{content:"\f187"}.um-faicon-bug:before{content:"\f188"}.um-faicon-vk:before{content:"\f189"}.um-faicon-weibo:before{content:"\f18a"}.um-faicon-renren:before{content:"\f18b"}.um-faicon-pagelines:before{content:"\f18c"}.um-faicon-stack-exchange:before{content:"\f18d"}.um-faicon-arrow-circle-o-right:before{content:"\f18e"}.um-faicon-arrow-circle-o-left:before{content:"\f190"}.um-faicon-caret-square-o-left:before,.um-faicon-toggle-left:before{content:"\f191"}.um-faicon-dot-circle-o:before{content:"\f192"}.um-faicon-wheelchair:before{content:"\f193"}.um-faicon-vimeo-square:before{content:"\f194"}.um-faicon-try:before,.um-faicon-turkish-lira:before{content:"\f195"}.um-faicon-plus-square-o:before{content:"\f196"}.um-faicon-space-shuttle:before{content:"\f197"}.um-faicon-slack:before{content:"\f198"}.um-faicon-envelope-square:before{content:"\f199"}.um-faicon-wordpress:before{content:"\f19a"}.um-faicon-openid:before{content:"\f19b"}.um-faicon-bank:before,.um-faicon-institution:before,.um-faicon-university:before{content:"\f19c"}.um-faicon-graduation-cap:before,.um-faicon-mortar-board:before{content:"\f19d"}.um-faicon-yahoo:before{content:"\f19e"}.um-faicon-google:before{content:"\f1a0"}.um-faicon-reddit:before{content:"\f1a1"}.um-faicon-reddit-square:before{content:"\f1a2"}.um-faicon-stumbleupon-circle:before{content:"\f1a3"}.um-faicon-stumbleupon:before{content:"\f1a4"}.um-faicon-delicious:before{content:"\f1a5"}.um-faicon-digg:before{content:"\f1a6"}.um-faicon-pied-piper:before{content:"\f1a7"}.um-faicon-pied-piper-alt:before{content:"\f1a8"}.um-faicon-drupal:before{content:"\f1a9"}.um-faicon-joomla:before{content:"\f1aa"}.um-faicon-language:before{content:"\f1ab"}.um-faicon-fax:before{content:"\f1ac"}.um-faicon-building:before{content:"\f1ad"}.um-faicon-child:before{content:"\f1ae"}.um-faicon-paw:before{content:"\f1b0"}.um-faicon-spoon:before{content:"\f1b1"}.um-faicon-cube:before{content:"\f1b2"}.um-faicon-cubes:before{content:"\f1b3"}.um-faicon-behance:before{content:"\f1b4"}.um-faicon-behance-square:before{content:"\f1b5"}.um-faicon-steam:before{content:"\f1b6"}.um-faicon-steam-square:before{content:"\f1b7"}.um-faicon-recycle:before{content:"\f1b8"}.um-faicon-automobile:before,.um-faicon-car:before{content:"\f1b9"}.um-faicon-cab:before,.um-faicon-taxi:before{content:"\f1ba"}.um-faicon-tree:before{content:"\f1bb"}.um-faicon-spotify:before{content:"\f1bc"}.um-faicon-deviantart:before{content:"\f1bd"}.um-faicon-soundcloud:before{content:"\f1be"}.um-faicon-database:before{content:"\f1c0"}.um-faicon-file-pdf-o:before{content:"\f1c1"}.um-faicon-file-word-o:before{content:"\f1c2"}.um-faicon-file-excel-o:before{content:"\f1c3"}.um-faicon-file-powerpoint-o:before{content:"\f1c4"}.um-faicon-file-image-o:before,.um-faicon-file-photo-o:before,.um-faicon-file-picture-o:before{content:"\f1c5"}.um-faicon-file-archive-o:before,.um-faicon-file-zip-o:before{content:"\f1c6"}.um-faicon-file-audio-o:before,.um-faicon-file-sound-o:before{content:"\f1c7"}.um-faicon-file-movie-o:before,.um-faicon-file-video-o:before{content:"\f1c8"}.um-faicon-file-code-o:before{content:"\f1c9"}.um-faicon-vine:before{content:"\f1ca"}.um-faicon-codepen:before{content:"\f1cb"}.um-faicon-jsfiddle:before{content:"\f1cc"}.um-faicon-life-bouy:before,.um-faicon-life-buoy:before,.um-faicon-life-ring:before,.um-faicon-life-saver:before,.um-faicon-support:before{content:"\f1cd"}.um-faicon-circle-o-notch:before{content:"\f1ce"}.um-faicon-ra:before,.um-faicon-rebel:before{content:"\f1d0"}.um-faicon-empire:before,.um-faicon-ge:before{content:"\f1d1"}.um-faicon-git-square:before{content:"\f1d2"}.um-faicon-git:before{content:"\f1d3"}.um-faicon-hacker-news:before{content:"\f1d4"}.um-faicon-tencent-weibo:before{content:"\f1d5"}.um-faicon-qq:before{content:"\f1d6"}.um-faicon-wechat:before,.um-faicon-weixin:before{content:"\f1d7"}.um-faicon-paper-plane:before,.um-faicon-send:before{content:"\f1d8"}.um-faicon-paper-plane-o:before,.um-faicon-send-o:before{content:"\f1d9"}.um-faicon-history:before{content:"\f1da"}.um-faicon-circle-thin:before{content:"\f1db"}.um-faicon-header:before{content:"\f1dc"}.um-faicon-paragraph:before{content:"\f1dd"}.um-faicon-sliders:before{content:"\f1de"}.um-faicon-share-alt:before{content:"\f1e0"}.um-faicon-share-alt-square:before{content:"\f1e1"}.um-faicon-bomb:before{content:"\f1e2"}.um-faicon-futbol-o:before,.um-faicon-soccer-ball-o:before{content:"\f1e3"}.um-faicon-tty:before{content:"\f1e4"}.um-faicon-binoculars:before{content:"\f1e5"}.um-faicon-plug:before{content:"\f1e6"}.um-faicon-slideshare:before{content:"\f1e7"}.um-faicon-twitch:before{content:"\f1e8"}.um-faicon-yelp:before{content:"\f1e9"}.um-faicon-newspaper-o:before{content:"\f1ea"}.um-faicon-wifi:before{content:"\f1eb"}.um-faicon-calculator:before{content:"\f1ec"}.um-faicon-paypal:before{content:"\f1ed"}.um-faicon-google-wallet:before{content:"\f1ee"}.um-faicon-cc-visa:before{content:"\f1f0"}.um-faicon-cc-mastercard:before{content:"\f1f1"}.um-faicon-cc-discover:before{content:"\f1f2"}.um-faicon-cc-amex:before{content:"\f1f3"}.um-faicon-cc-paypal:before{content:"\f1f4"}.um-faicon-cc-stripe:before{content:"\f1f5"}.um-faicon-bell-slash:before{content:"\f1f6"}.um-faicon-bell-slash-o:before{content:"\f1f7"}.um-faicon-trash:before{content:"\f1f8"}.um-faicon-copyright:before{content:"\f1f9"}.um-faicon-at:before{content:"\f1fa"}.um-faicon-eyedropper:before{content:"\f1fb"}.um-faicon-paint-brush:before{content:"\f1fc"}.um-faicon-birthday-cake:before{content:"\f1fd"}.um-faicon-area-chart:before{content:"\f1fe"}.um-faicon-pie-chart:before{content:"\f200"}.um-faicon-line-chart:before{content:"\f201"}.um-faicon-lastfm:before{content:"\f202"}.um-faicon-lastfm-square:before{content:"\f203"}.um-faicon-toggle-off:before{content:"\f204"}.um-faicon-toggle-on:before{content:"\f205"}.um-faicon-bicycle:before{content:"\f206"}.um-faicon-bus:before{content:"\f207"}.um-faicon-ioxhost:before{content:"\f208"}.um-faicon-angellist:before{content:"\f209"}.um-faicon-cc:before{content:"\f20a"}.um-faicon-ils:before,.um-faicon-shekel:before,.um-faicon-sheqel:before{content:"\f20b"}.um-faicon-meanpath:before{content:"\f20c"}@font-face{font-family:Ionicons;src:url(../font/ionicons.eot?v=2.0.0);src:url(../font/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(../font/ionicons.woff?v=2.0.0) format("woff"),url(../font/ionicons.ttf?v=2.0.0) format("truetype"),url(../font/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}[class*=" um-icon-"]:before,[class^=um-icon-]:before{font-family:Ionicons!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-icon-alert:before{content:"\f101"}.um-icon-alert-circled:before{content:"\f100"}.um-icon-android-add:before{content:"\f2c7"}.um-icon-android-add-circle:before{content:"\f359"}.um-icon-android-alarm-clock:before{content:"\f35a"}.um-icon-android-alert:before{content:"\f35b"}.um-icon-android-apps:before{content:"\f35c"}.um-icon-android-archive:before{content:"\f2c9"}.um-icon-android-arrow-back:before{content:"\f2ca"}.um-icon-android-arrow-down:before{content:"\f35d"}.um-icon-android-arrow-dropdown:before{content:"\f35f"}.um-icon-android-arrow-dropdown-circle:before{content:"\f35e"}.um-icon-android-arrow-dropleft:before{content:"\f361"}.um-icon-android-arrow-dropleft-circle:before{content:"\f360"}.um-icon-android-arrow-dropright:before{content:"\f363"}.um-icon-android-arrow-dropright-circle:before{content:"\f362"}.um-icon-android-arrow-dropup:before{content:"\f365"}.um-icon-android-arrow-dropup-circle:before{content:"\f364"}.um-icon-android-arrow-forward:before{content:"\f30f"}.um-icon-android-arrow-up:before{content:"\f366"}.um-icon-android-attach:before{content:"\f367"}.um-icon-android-bar:before{content:"\f368"}.um-icon-android-bicycle:before{content:"\f369"}.um-icon-android-boat:before{content:"\f36a"}.um-icon-android-bookmark:before{content:"\f36b"}.um-icon-android-bulb:before{content:"\f36c"}.um-icon-android-bus:before{content:"\f36d"}.um-icon-android-calendar:before{content:"\f2d1"}.um-icon-android-call:before{content:"\f2d2"}.um-icon-android-camera:before{content:"\f2d3"}.um-icon-android-cancel:before{content:"\f36e"}.um-icon-android-car:before{content:"\f36f"}.um-icon-android-cart:before{content:"\f370"}.um-icon-android-chat:before{content:"\f2d4"}.um-icon-android-checkbox:before{content:"\f374"}.um-icon-android-checkbox-blank:before{content:"\f371"}.um-icon-android-checkbox-outline:before{content:"\f373"}.um-icon-android-checkbox-outline-blank:before{content:"\f372"}.um-icon-android-checkmark-circle:before{content:"\f375"}.um-icon-android-clipboard:before{content:"\f376"}.um-icon-android-close:before{content:"\f2d7"}.um-icon-android-cloud:before{content:"\f37a"}.um-icon-android-cloud-circle:before{content:"\f377"}.um-icon-android-cloud-done:before{content:"\f378"}.um-icon-android-cloud-outline:before{content:"\f379"}.um-icon-android-color-palette:before{content:"\f37b"}.um-icon-android-compass:before{content:"\f37c"}.um-icon-android-contact:before{content:"\f2d8"}.um-icon-android-contacts:before{content:"\f2d9"}.um-icon-android-contract:before{content:"\f37d"}.um-icon-android-create:before{content:"\f37e"}.um-icon-android-delete:before{content:"\f37f"}.um-icon-android-desktop:before{content:"\f380"}.um-icon-android-document:before{content:"\f381"}.um-icon-android-done:before{content:"\f383"}.um-icon-android-done-all:before{content:"\f382"}.um-icon-android-download:before{content:"\f2dd"}.um-icon-android-drafts:before{content:"\f384"}.um-icon-android-exit:before{content:"\f385"}.um-icon-android-expand:before{content:"\f386"}.um-icon-android-favorite:before{content:"\f388"}.um-icon-android-favorite-outline:before{content:"\f387"}.um-icon-android-film:before{content:"\f389"}.um-icon-android-folder:before{content:"\f2e0"}.um-icon-android-folder-open:before{content:"\f38a"}.um-icon-android-funnel:before{content:"\f38b"}.um-icon-android-globe:before{content:"\f38c"}.um-icon-android-hand:before{content:"\f2e3"}.um-icon-android-hangout:before{content:"\f38d"}.um-icon-android-happy:before{content:"\f38e"}.um-icon-android-home:before{content:"\f38f"}.um-icon-android-image:before{content:"\f2e4"}.um-icon-android-laptop:before{content:"\f390"}.um-icon-android-list:before{content:"\f391"}.um-icon-android-locate:before{content:"\f2e9"}.um-icon-android-lock:before{content:"\f392"}.um-icon-android-mail:before{content:"\f2eb"}.um-icon-android-map:before{content:"\f393"}.um-icon-android-menu:before{content:"\f394"}.um-icon-android-microphone:before{content:"\f2ec"}.um-icon-android-microphone-off:before{content:"\f395"}.um-icon-android-more-horizontal:before{content:"\f396"}.um-icon-android-more-vertical:before{content:"\f397"}.um-icon-android-navigate:before{content:"\f398"}.um-icon-android-notifications:before{content:"\f39b"}.um-icon-android-notifications-none:before{content:"\f399"}.um-icon-android-notifications-off:before{content:"\f39a"}.um-icon-android-open:before{content:"\f39c"}.um-icon-android-options:before{content:"\f39d"}.um-icon-android-people:before{content:"\f39e"}.um-icon-android-person:before{content:"\f3a0"}.um-icon-android-person-add:before{content:"\f39f"}.um-icon-android-phone-landscape:before{content:"\f3a1"}.um-icon-android-phone-portrait:before{content:"\f3a2"}.um-icon-android-pin:before{content:"\f3a3"}.um-icon-android-plane:before{content:"\f3a4"}.um-icon-android-playstore:before{content:"\f2f0"}.um-icon-android-print:before{content:"\f3a5"}.um-icon-android-radio-button-off:before{content:"\f3a6"}.um-icon-android-radio-button-on:before{content:"\f3a7"}.um-icon-android-refresh:before{content:"\f3a8"}.um-icon-android-remove:before{content:"\f2f4"}.um-icon-android-remove-circle:before{content:"\f3a9"}.um-icon-android-restaurant:before{content:"\f3aa"}.um-icon-android-sad:before{content:"\f3ab"}.um-icon-android-search:before{content:"\f2f5"}.um-icon-android-send:before{content:"\f2f6"}.um-icon-android-settings:before{content:"\f2f7"}.um-icon-android-share:before{content:"\f2f8"}.um-icon-android-share-alt:before{content:"\f3ac"}.um-icon-android-star:before{content:"\f2fc"}.um-icon-android-star-half:before{content:"\f3ad"}.um-icon-android-star-outline:before{content:"\f3ae"}.um-icon-android-stopwatch:before{content:"\f2fd"}.um-icon-android-subway:before{content:"\f3af"}.um-icon-android-sunny:before{content:"\f3b0"}.um-icon-android-sync:before{content:"\f3b1"}.um-icon-android-textsms:before{content:"\f3b2"}.um-icon-android-time:before{content:"\f3b3"}.um-icon-android-train:before{content:"\f3b4"}.um-icon-android-unlock:before{content:"\f3b5"}.um-icon-android-upload:before{content:"\f3b6"}.um-icon-android-volume-down:before{content:"\f3b7"}.um-icon-android-volume-mute:before{content:"\f3b8"}.um-icon-android-volume-off:before{content:"\f3b9"}.um-icon-android-volume-up:before{content:"\f3ba"}.um-icon-android-walk:before{content:"\f3bb"}.um-icon-android-warning:before{content:"\f3bc"}.um-icon-android-watch:before{content:"\f3bd"}.um-icon-android-wifi:before{content:"\f305"}.um-icon-aperture:before{content:"\f313"}.um-icon-archive:before{content:"\f102"}.um-icon-arrow-down-a:before{content:"\f103"}.um-icon-arrow-down-b:before{content:"\f104"}.um-icon-arrow-down-c:before{content:"\f105"}.um-icon-arrow-expand:before{content:"\f25e"}.um-icon-arrow-graph-down-left:before{content:"\f25f"}.um-icon-arrow-graph-down-right:before{content:"\f260"}.um-icon-arrow-graph-up-left:before{content:"\f261"}.um-icon-arrow-graph-up-right:before{content:"\f262"}.um-icon-arrow-left-a:before{content:"\f106"}.um-icon-arrow-left-b:before{content:"\f107"}.um-icon-arrow-left-c:before{content:"\f108"}.um-icon-arrow-move:before{content:"\f263"}.um-icon-arrow-resize:before{content:"\f264"}.um-icon-arrow-return-left:before{content:"\f265"}.um-icon-arrow-return-right:before{content:"\f266"}.um-icon-arrow-right-a:before{content:"\f109"}.um-icon-arrow-right-b:before{content:"\f10a"}.um-icon-arrow-right-c:before{content:"\f10b"}.um-icon-arrow-shrink:before{content:"\f267"}.um-icon-arrow-swap:before{content:"\f268"}.um-icon-arrow-up-a:before{content:"\f10c"}.um-icon-arrow-up-b:before{content:"\f10d"}.um-icon-arrow-up-c:before{content:"\f10e"}.um-icon-asterisk:before{content:"\f314"}.um-icon-at:before{content:"\f10f"}.um-icon-backspace:before{content:"\f3bf"}.um-icon-backspace-outline:before{content:"\f3be"}.um-icon-bag:before{content:"\f110"}.um-icon-battery-charging:before{content:"\f111"}.um-icon-battery-empty:before{content:"\f112"}.um-icon-battery-full:before{content:"\f113"}.um-icon-battery-half:before{content:"\f114"}.um-icon-battery-low:before{content:"\f115"}.um-icon-beaker:before{content:"\f269"}.um-icon-beer:before{content:"\f26a"}.um-icon-bluetooth:before{content:"\f116"}.um-icon-bonfire:before{content:"\f315"}.um-icon-bookmark:before{content:"\f26b"}.um-icon-bowtie:before{content:"\f3c0"}.um-icon-briefcase:before{content:"\f26c"}.um-icon-bug:before{content:"\f2be"}.um-icon-calculator:before{content:"\f26d"}.um-icon-calendar:before{content:"\f117"}.um-icon-camera:before{content:"\f118"}.um-icon-card:before{content:"\f119"}.um-icon-cash:before{content:"\f316"}.um-icon-chatbox:before{content:"\f11b"}.um-icon-chatbox-working:before{content:"\f11a"}.um-icon-chatboxes:before{content:"\f11c"}.um-icon-chatbubble:before{content:"\f11e"}.um-icon-chatbubble-working:before{content:"\f11d"}.um-icon-chatbubbles:before{content:"\f11f"}.um-icon-checkmark:before{content:"\f122"}.um-icon-checkmark-circled:before{content:"\f120"}.um-icon-checkmark-round:before{content:"\f121"}.um-icon-chevron-down:before{content:"\f123"}.um-icon-chevron-left:before{content:"\f124"}.um-icon-chevron-right:before{content:"\f125"}.um-icon-chevron-up:before{content:"\f126"}.um-icon-clipboard:before{content:"\f127"}.um-icon-clock:before{content:"\f26e"}.um-icon-close:before{content:"\f12a"}.um-icon-close-circled:before{content:"\f128"}.um-icon-close-round:before{content:"\f129"}.um-icon-closed-captioning:before{content:"\f317"}.um-icon-cloud:before{content:"\f12b"}.um-icon-code:before{content:"\f271"}.um-icon-code-download:before{content:"\f26f"}.um-icon-code-working:before{content:"\f270"}.um-icon-coffee:before{content:"\f272"}.um-icon-compass:before{content:"\f273"}.um-icon-compose:before{content:"\f12c"}.um-icon-connection-bars:before{content:"\f274"}.um-icon-contrast:before{content:"\f275"}.um-icon-crop:before{content:"\f3c1"}.um-icon-cube:before{content:"\f318"}.um-icon-disc:before{content:"\f12d"}.um-icon-document:before{content:"\f12f"}.um-icon-document-text:before{content:"\f12e"}.um-icon-drag:before{content:"\f130"}.um-icon-earth:before{content:"\f276"}.um-icon-easel:before{content:"\f3c2"}.um-icon-edit:before{content:"\f2bf"}.um-icon-egg:before{content:"\f277"}.um-icon-eject:before{content:"\f131"}.um-icon-email:before{content:"\f132"}.um-icon-email-unread:before{content:"\f3c3"}.um-icon-erlenmeyer-flask:before{content:"\f3c5"}.um-icon-erlenmeyer-flask-bubbles:before{content:"\f3c4"}.um-icon-eye:before{content:"\f133"}.um-icon-eye-disabled:before{content:"\f306"}.um-icon-female:before{content:"\f278"}.um-icon-filing:before{content:"\f134"}.um-icon-film-marker:before{content:"\f135"}.um-icon-fireball:before{content:"\f319"}.um-icon-flag:before{content:"\f279"}.um-icon-flame:before{content:"\f31a"}.um-icon-flash:before{content:"\f137"}.um-icon-flash-off:before{content:"\f136"}.um-icon-folder:before{content:"\f139"}.um-icon-fork:before{content:"\f27a"}.um-icon-fork-repo:before{content:"\f2c0"}.um-icon-forward:before{content:"\f13a"}.um-icon-funnel:before{content:"\f31b"}.um-icon-gear-a:before{content:"\f13d"}.um-icon-gear-b:before{content:"\f13e"}.um-icon-grid:before{content:"\f13f"}.um-icon-hammer:before{content:"\f27b"}.um-icon-happy:before{content:"\f31c"}.um-icon-happy-outline:before{content:"\f3c6"}.um-icon-headphone:before{content:"\f140"}.um-icon-heart:before{content:"\f141"}.um-icon-heart-broken:before{content:"\f31d"}.um-icon-help:before{content:"\f143"}.um-icon-help-buoy:before{content:"\f27c"}.um-icon-help-circled:before{content:"\f142"}.um-icon-home:before{content:"\f144"}.um-icon-icecream:before{content:"\f27d"}.um-icon-image:before{content:"\f147"}.um-icon-images:before{content:"\f148"}.um-icon-information:before{content:"\f14a"}.um-icon-information-circled:before{content:"\f149"}.um-icon-ionic:before{content:"\f14b"}.um-icon-ios-alarm:before{content:"\f3c8"}.um-icon-ios-alarm-outline:before{content:"\f3c7"}.um-icon-ios-albums:before{content:"\f3ca"}.um-icon-ios-albums-outline:before{content:"\f3c9"}.um-icon-ios-americanfootball:before{content:"\f3cc"}.um-icon-ios-americanfootball-outline:before{content:"\f3cb"}.um-icon-ios-analytics:before{content:"\f3ce"}.um-icon-ios-analytics-outline:before{content:"\f3cd"}.um-icon-ios-arrow-back:before{content:"\f3cf"}.um-icon-ios-arrow-down:before{content:"\f3d0"}.um-icon-ios-arrow-forward:before{content:"\f3d1"}.um-icon-ios-arrow-left:before{content:"\f3d2"}.um-icon-ios-arrow-right:before{content:"\f3d3"}.um-icon-ios-arrow-thin-down:before{content:"\f3d4"}.um-icon-ios-arrow-thin-left:before{content:"\f3d5"}.um-icon-ios-arrow-thin-right:before{content:"\f3d6"}.um-icon-ios-arrow-thin-up:before{content:"\f3d7"}.um-icon-ios-arrow-up:before{content:"\f3d8"}.um-icon-ios-at:before{content:"\f3da"}.um-icon-ios-at-outline:before{content:"\f3d9"}.um-icon-ios-barcode:before{content:"\f3dc"}.um-icon-ios-barcode-outline:before{content:"\f3db"}.um-icon-ios-baseball:before{content:"\f3de"}.um-icon-ios-baseball-outline:before{content:"\f3dd"}.um-icon-ios-basketball:before{content:"\f3e0"}.um-icon-ios-basketball-outline:before{content:"\f3df"}.um-icon-ios-bell:before{content:"\f3e2"}.um-icon-ios-bell-outline:before{content:"\f3e1"}.um-icon-ios-body:before{content:"\f3e4"}.um-icon-ios-body-outline:before{content:"\f3e3"}.um-icon-ios-bolt:before{content:"\f3e6"}.um-icon-ios-bolt-outline:before{content:"\f3e5"}.um-icon-ios-book:before{content:"\f3e8"}.um-icon-ios-book-outline:before{content:"\f3e7"}.um-icon-ios-bookmarks:before{content:"\f3ea"}.um-icon-ios-bookmarks-outline:before{content:"\f3e9"}.um-icon-ios-box:before{content:"\f3ec"}.um-icon-ios-box-outline:before{content:"\f3eb"}.um-icon-ios-briefcase:before{content:"\f3ee"}.um-icon-ios-briefcase-outline:before{content:"\f3ed"}.um-icon-ios-browsers:before{content:"\f3f0"}.um-icon-ios-browsers-outline:before{content:"\f3ef"}.um-icon-ios-calculator:before{content:"\f3f2"}.um-icon-ios-calculator-outline:before{content:"\f3f1"}.um-icon-ios-calendar:before{content:"\f3f4"}.um-icon-ios-calendar-outline:before{content:"\f3f3"}.um-icon-ios-camera:before{content:"\f3f6"}.um-icon-ios-camera-outline:before{content:"\f3f5"}.um-icon-ios-cart:before{content:"\f3f8"}.um-icon-ios-cart-outline:before{content:"\f3f7"}.um-icon-ios-chatboxes:before{content:"\f3fa"}.um-icon-ios-chatboxes-outline:before{content:"\f3f9"}.um-icon-ios-chatbubble:before{content:"\f3fc"}.um-icon-ios-chatbubble-outline:before{content:"\f3fb"}.um-icon-ios-checkmark:before{content:"\f3ff"}.um-icon-ios-checkmark-empty:before{content:"\f3fd"}.um-icon-ios-checkmark-outline:before{content:"\f3fe"}.um-icon-ios-circle-filled:before{content:"\f400"}.um-icon-ios-circle-outline:before{content:"\f401"}.um-icon-ios-clock:before{content:"\f403"}.um-icon-ios-clock-outline:before{content:"\f402"}.um-icon-ios-close:before{content:"\f406"}.um-icon-ios-close-empty:before{content:"\f404"}.um-icon-ios-close-outline:before{content:"\f405"}.um-icon-ios-cloud:before{content:"\f40c"}.um-icon-ios-cloud-download:before{content:"\f408"}.um-icon-ios-cloud-download-outline:before{content:"\f407"}.um-icon-ios-cloud-outline:before{content:"\f409"}.um-icon-ios-cloud-upload:before{content:"\f40b"}.um-icon-ios-cloud-upload-outline:before{content:"\f40a"}.um-icon-ios-cloudy:before{content:"\f410"}.um-icon-ios-cloudy-night:before{content:"\f40e"}.um-icon-ios-cloudy-night-outline:before{content:"\f40d"}.um-icon-ios-cloudy-outline:before{content:"\f40f"}.um-icon-ios-cog:before{content:"\f412"}.um-icon-ios-cog-outline:before{content:"\f411"}.um-icon-ios-color-filter:before{content:"\f414"}.um-icon-ios-color-filter-outline:before{content:"\f413"}.um-icon-ios-color-wand:before{content:"\f416"}.um-icon-ios-color-wand-outline:before{content:"\f415"}.um-icon-ios-compose:before{content:"\f418"}.um-icon-ios-compose-outline:before{content:"\f417"}.um-icon-ios-contact:before{content:"\f41a"}.um-icon-ios-contact-outline:before{content:"\f419"}.um-icon-ios-copy:before{content:"\f41c"}.um-icon-ios-copy-outline:before{content:"\f41b"}.um-icon-ios-crop:before{content:"\f41e"}.um-icon-ios-crop-strong:before{content:"\f41d"}.um-icon-ios-download:before{content:"\f420"}.um-icon-ios-download-outline:before{content:"\f41f"}.um-icon-ios-drag:before{content:"\f421"}.um-icon-ios-email:before{content:"\f423"}.um-icon-ios-email-outline:before{content:"\f422"}.um-icon-ios-eye:before{content:"\f425"}.um-icon-ios-eye-outline:before{content:"\f424"}.um-icon-ios-fastforward:before{content:"\f427"}.um-icon-ios-fastforward-outline:before{content:"\f426"}.um-icon-ios-filing:before{content:"\f429"}.um-icon-ios-filing-outline:before{content:"\f428"}.um-icon-ios-film:before{content:"\f42b"}.um-icon-ios-film-outline:before{content:"\f42a"}.um-icon-ios-flag:before{content:"\f42d"}.um-icon-ios-flag-outline:before{content:"\f42c"}.um-icon-ios-flame:before{content:"\f42f"}.um-icon-ios-flame-outline:before{content:"\f42e"}.um-icon-ios-flask:before{content:"\f431"}.um-icon-ios-flask-outline:before{content:"\f430"}.um-icon-ios-flower:before{content:"\f433"}.um-icon-ios-flower-outline:before{content:"\f432"}.um-icon-ios-folder:before{content:"\f435"}.um-icon-ios-folder-outline:before{content:"\f434"}.um-icon-ios-football:before{content:"\f437"}.um-icon-ios-football-outline:before{content:"\f436"}.um-icon-ios-game-controller-a:before{content:"\f439"}.um-icon-ios-game-controller-a-outline:before{content:"\f438"}.um-icon-ios-game-controller-b:before{content:"\f43b"}.um-icon-ios-game-controller-b-outline:before{content:"\f43a"}.um-icon-ios-gear:before{content:"\f43d"}.um-icon-ios-gear-outline:before{content:"\f43c"}.um-icon-ios-glasses:before{content:"\f43f"}.um-icon-ios-glasses-outline:before{content:"\f43e"}.um-icon-ios-grid-view:before{content:"\f441"}.um-icon-ios-grid-view-outline:before{content:"\f440"}.um-icon-ios-heart:before{content:"\f443"}.um-icon-ios-heart-outline:before{content:"\f442"}.um-icon-ios-help:before{content:"\f446"}.um-icon-ios-help-empty:before{content:"\f444"}.um-icon-ios-help-outline:before{content:"\f445"}.um-icon-ios-home:before{content:"\f448"}.um-icon-ios-home-outline:before{content:"\f447"}.um-icon-ios-infinite:before{content:"\f44a"}.um-icon-ios-infinite-outline:before{content:"\f449"}.um-icon-ios-information:before{content:"\f44d"}.um-icon-ios-information-empty:before{content:"\f44b"}.um-icon-ios-information-outline:before{content:"\f44c"}.um-icon-ios-ionic-outline:before{content:"\f44e"}.um-icon-ios-keypad:before{content:"\f450"}.um-icon-ios-keypad-outline:before{content:"\f44f"}.um-icon-ios-lightbulb:before{content:"\f452"}.um-icon-ios-lightbulb-outline:before{content:"\f451"}.um-icon-ios-list:before{content:"\f454"}.um-icon-ios-list-outline:before{content:"\f453"}.um-icon-ios-location:before{content:"\f456"}.um-icon-ios-location-outline:before{content:"\f455"}.um-icon-ios-locked:before{content:"\f458"}.um-icon-ios-locked-outline:before{content:"\f457"}.um-icon-ios-loop:before{content:"\f45a"}.um-icon-ios-loop-strong:before{content:"\f459"}.um-icon-ios-medical:before{content:"\f45c"}.um-icon-ios-medical-outline:before{content:"\f45b"}.um-icon-ios-medkit:before{content:"\f45e"}.um-icon-ios-medkit-outline:before{content:"\f45d"}.um-icon-ios-mic:before{content:"\f461"}.um-icon-ios-mic-off:before{content:"\f45f"}.um-icon-ios-mic-outline:before{content:"\f460"}.um-icon-ios-minus:before{content:"\f464"}.um-icon-ios-minus-empty:before{content:"\f462"}.um-icon-ios-minus-outline:before{content:"\f463"}.um-icon-ios-monitor:before{content:"\f466"}.um-icon-ios-monitor-outline:before{content:"\f465"}.um-icon-ios-moon:before{content:"\f468"}.um-icon-ios-moon-outline:before{content:"\f467"}.um-icon-ios-more:before{content:"\f46a"}.um-icon-ios-more-outline:before{content:"\f469"}.um-icon-ios-musical-note:before{content:"\f46b"}.um-icon-ios-musical-notes:before{content:"\f46c"}.um-icon-ios-navigate:before{content:"\f46e"}.um-icon-ios-navigate-outline:before{content:"\f46d"}.um-icon-ios-nutrition:before{content:"\f470"}.um-icon-ios-nutrition-outline:before{content:"\f46f"}.um-icon-ios-paper:before{content:"\f472"}.um-icon-ios-paper-outline:before{content:"\f471"}.um-icon-ios-paperplane:before{content:"\f474"}.um-icon-ios-paperplane-outline:before{content:"\f473"}.um-icon-ios-partlysunny:before{content:"\f476"}.um-icon-ios-partlysunny-outline:before{content:"\f475"}.um-icon-ios-pause:before{content:"\f478"}.um-icon-ios-pause-outline:before{content:"\f477"}.um-icon-ios-paw:before{content:"\f47a"}.um-icon-ios-paw-outline:before{content:"\f479"}.um-icon-ios-people:before{content:"\f47c"}.um-icon-ios-people-outline:before{content:"\f47b"}.um-icon-ios-person:before{content:"\f47e"}.um-icon-ios-person-outline:before{content:"\f47d"}.um-icon-ios-personadd:before{content:"\f480"}.um-icon-ios-personadd-outline:before{content:"\f47f"}.um-icon-ios-photos:before{content:"\f482"}.um-icon-ios-photos-outline:before{content:"\f481"}.um-icon-ios-pie:before{content:"\f484"}.um-icon-ios-pie-outline:before{content:"\f483"}.um-icon-ios-pint:before{content:"\f486"}.um-icon-ios-pint-outline:before{content:"\f485"}.um-icon-ios-play:before{content:"\f488"}.um-icon-ios-play-outline:before{content:"\f487"}.um-icon-ios-plus:before{content:"\f48b"}.um-icon-ios-plus-empty:before{content:"\f489"}.um-icon-ios-plus-outline:before{content:"\f48a"}.um-icon-ios-pricetag:before{content:"\f48d"}.um-icon-ios-pricetag-outline:before{content:"\f48c"}.um-icon-ios-pricetags:before{content:"\f48f"}.um-icon-ios-pricetags-outline:before{content:"\f48e"}.um-icon-ios-printer:before{content:"\f491"}.um-icon-ios-printer-outline:before{content:"\f490"}.um-icon-ios-pulse:before{content:"\f493"}.um-icon-ios-pulse-strong:before{content:"\f492"}.um-icon-ios-rainy:before{content:"\f495"}.um-icon-ios-rainy-outline:before{content:"\f494"}.um-icon-ios-recording:before{content:"\f497"}.um-icon-ios-recording-outline:before{content:"\f496"}.um-icon-ios-redo:before{content:"\f499"}.um-icon-ios-redo-outline:before{content:"\f498"}.um-icon-ios-refresh:before{content:"\f49c"}.um-icon-ios-refresh-empty:before{content:"\f49a"}.um-icon-ios-refresh-outline:before{content:"\f49b"}.um-icon-ios-reload:before{content:"\f49d"}.um-icon-ios-reverse-camera:before{content:"\f49f"}.um-icon-ios-reverse-camera-outline:before{content:"\f49e"}.um-icon-ios-rewind:before{content:"\f4a1"}.um-icon-ios-rewind-outline:before{content:"\f4a0"}.um-icon-ios-rose:before{content:"\f4a3"}.um-icon-ios-rose-outline:before{content:"\f4a2"}.um-icon-ios-search:before{content:"\f4a5"}.um-icon-ios-search-strong:before{content:"\f4a4"}.um-icon-ios-settings:before{content:"\f4a7"}.um-icon-ios-settings-strong:before{content:"\f4a6"}.um-icon-ios-shuffle:before{content:"\f4a9"}.um-icon-ios-shuffle-strong:before{content:"\f4a8"}.um-icon-ios-skipbackward:before{content:"\f4ab"}.um-icon-ios-skipbackward-outline:before{content:"\f4aa"}.um-icon-ios-skipforward:before{content:"\f4ad"}.um-icon-ios-skipforward-outline:before{content:"\f4ac"}.um-icon-ios-snowy:before{content:"\f4ae"}.um-icon-ios-speedometer:before{content:"\f4b0"}.um-icon-ios-speedometer-outline:before{content:"\f4af"}.um-icon-ios-star:before{content:"\f4b3"}.um-icon-ios-star-half:before{content:"\f4b1"}.um-icon-ios-star-outline:before{content:"\f4b2"}.um-icon-ios-stopwatch:before{content:"\f4b5"}.um-icon-ios-stopwatch-outline:before{content:"\f4b4"}.um-icon-ios-sunny:before{content:"\f4b7"}.um-icon-ios-sunny-outline:before{content:"\f4b6"}.um-icon-ios-telephone:before{content:"\f4b9"}.um-icon-ios-telephone-outline:before{content:"\f4b8"}.um-icon-ios-tennisball:before{content:"\f4bb"}.um-icon-ios-tennisball-outline:before{content:"\f4ba"}.um-icon-ios-thunderstorm:before{content:"\f4bd"}.um-icon-ios-thunderstorm-outline:before{content:"\f4bc"}.um-icon-ios-time:before{content:"\f4bf"}.um-icon-ios-time-outline:before{content:"\f4be"}.um-icon-ios-timer:before{content:"\f4c1"}.um-icon-ios-timer-outline:before{content:"\f4c0"}.um-icon-ios-toggle:before{content:"\f4c3"}.um-icon-ios-toggle-outline:before{content:"\f4c2"}.um-icon-ios-trash:before{content:"\f4c5"}.um-icon-ios-trash-outline:before{content:"\f4c4"}.um-icon-ios-undo:before{content:"\f4c7"}.um-icon-ios-undo-outline:before{content:"\f4c6"}.um-icon-ios-unlocked:before{content:"\f4c9"}.um-icon-ios-unlocked-outline:before{content:"\f4c8"}.um-icon-ios-upload:before{content:"\f4cb"}.um-icon-ios-upload-outline:before{content:"\f4ca"}.um-icon-ios-videocam:before{content:"\f4cd"}.um-icon-ios-videocam-outline:before{content:"\f4cc"}.um-icon-ios-volume-high:before{content:"\f4ce"}.um-icon-ios-volume-low:before{content:"\f4cf"}.um-icon-ios-wineglass:before{content:"\f4d1"}.um-icon-ios-wineglass-outline:before{content:"\f4d0"}.um-icon-ios-world:before{content:"\f4d3"}.um-icon-ios-world-outline:before{content:"\f4d2"}.um-icon-ipad:before{content:"\f1f9"}.um-icon-iphone:before{content:"\f1fa"}.um-icon-ipod:before{content:"\f1fb"}.um-icon-jet:before{content:"\f295"}.um-icon-key:before{content:"\f296"}.um-icon-knife:before{content:"\f297"}.um-icon-laptop:before{content:"\f1fc"}.um-icon-leaf:before{content:"\f1fd"}.um-icon-levels:before{content:"\f298"}.um-icon-lightbulb:before{content:"\f299"}.um-icon-link:before{content:"\f1fe"}.um-icon-load-a:before{content:"\f29a"}.um-icon-load-b:before{content:"\f29b"}.um-icon-load-c:before{content:"\f29c"}.um-icon-load-d:before{content:"\f29d"}.um-icon-location:before{content:"\f1ff"}.um-icon-lock-combination:before{content:"\f4d4"}.um-icon-locked:before{content:"\f200"}.um-icon-log-in:before{content:"\f29e"}.um-icon-log-out:before{content:"\f29f"}.um-icon-loop:before{content:"\f201"}.um-icon-magnet:before{content:"\f2a0"}.um-icon-male:before{content:"\f2a1"}.um-icon-man:before{content:"\f202"}.um-icon-map:before{content:"\f203"}.um-icon-medkit:before{content:"\f2a2"}.um-icon-merge:before{content:"\f33f"}.um-icon-mic-a:before{content:"\f204"}.um-icon-mic-b:before{content:"\f205"}.um-icon-mic-c:before{content:"\f206"}.um-icon-minus:before{content:"\f209"}.um-icon-minus-circled:before{content:"\f207"}.um-icon-minus-round:before{content:"\f208"}.um-icon-model-s:before{content:"\f2c1"}.um-icon-monitor:before{content:"\f20a"}.um-icon-more:before{content:"\f20b"}.um-icon-mouse:before{content:"\f340"}.um-icon-music-note:before{content:"\f20c"}.um-icon-navicon:before{content:"\f20e"}.um-icon-navicon-round:before{content:"\f20d"}.um-icon-navigate:before{content:"\f2a3"}.um-icon-network:before{content:"\f341"}.um-icon-no-smoking:before{content:"\f2c2"}.um-icon-nuclear:before{content:"\f2a4"}.um-icon-outlet:before{content:"\f342"}.um-icon-paintbrush:before{content:"\f4d5"}.um-icon-paintbucket:before{content:"\f4d6"}.um-icon-paper-airplane:before{content:"\f2c3"}.um-icon-paperclip:before{content:"\f20f"}.um-icon-pause:before{content:"\f210"}.um-icon-person:before{content:"\f213"}.um-icon-person-add:before{content:"\f211"}.um-icon-person-stalker:before{content:"\f212"}.um-icon-pie-graph:before{content:"\f2a5"}.um-icon-pin:before{content:"\f2a6"}.um-icon-pinpoint:before{content:"\f2a7"}.um-icon-pizza:before{content:"\f2a8"}.um-icon-plane:before{content:"\f214"}.um-icon-planet:before{content:"\f343"}.um-icon-play:before{content:"\f215"}.um-icon-playstation:before{content:"\f30a"}.um-icon-plus:before{content:"\f218"}.um-icon-plus-circled:before{content:"\f216"}.um-icon-plus-round:before{content:"\f217"}.um-icon-podium:before{content:"\f344"}.um-icon-pound:before{content:"\f219"}.um-icon-power:before{content:"\f2a9"}.um-icon-pricetag:before{content:"\f2aa"}.um-icon-pricetags:before{content:"\f2ab"}.um-icon-printer:before{content:"\f21a"}.um-icon-pull-request:before{content:"\f345"}.um-icon-qr-scanner:before{content:"\f346"}.um-icon-quote:before{content:"\f347"}.um-icon-radio-waves:before{content:"\f2ac"}.um-icon-record:before{content:"\f21b"}.um-icon-refresh:before{content:"\f21c"}.um-icon-reply:before{content:"\f21e"}.um-icon-reply-all:before{content:"\f21d"}.um-icon-ribbon-a:before{content:"\f348"}.um-icon-ribbon-b:before{content:"\f349"}.um-icon-sad:before{content:"\f34a"}.um-icon-sad-outline:before{content:"\f4d7"}.um-icon-scissors:before{content:"\f34b"}.um-icon-search:before{content:"\f21f"}.um-icon-settings:before{content:"\f2ad"}.um-icon-share:before{content:"\f220"}.um-icon-shuffle:before{content:"\f221"}.um-icon-skip-backward:before{content:"\f222"}.um-icon-skip-forward:before{content:"\f223"}.um-icon-social-android:before{content:"\f225"}.um-icon-social-android-outline:before{content:"\f224"}.um-icon-social-angular:before{content:"\f4d9"}.um-icon-social-angular-outline:before{content:"\f4d8"}.um-icon-social-apple:before{content:"\f227"}.um-icon-social-apple-outline:before{content:"\f226"}.um-icon-social-bitcoin:before{content:"\f2af"}.um-icon-social-bitcoin-outline:before{content:"\f2ae"}.um-icon-social-buffer:before{content:"\f229"}.um-icon-social-buffer-outline:before{content:"\f228"}.um-icon-social-chrome:before{content:"\f4db"}.um-icon-social-chrome-outline:before{content:"\f4da"}.um-icon-social-codepen:before{content:"\f4dd"}.um-icon-social-codepen-outline:before{content:"\f4dc"}.um-icon-social-css3:before{content:"\f4df"}.um-icon-social-css3-outline:before{content:"\f4de"}.um-icon-social-designernews:before{content:"\f22b"}.um-icon-social-designernews-outline:before{content:"\f22a"}.um-icon-social-dribbble:before{content:"\f22d"}.um-icon-social-dribbble-outline:before{content:"\f22c"}.um-icon-social-dropbox:before{content:"\f22f"}.um-icon-social-dropbox-outline:before{content:"\f22e"}.um-icon-social-euro:before{content:"\f4e1"}.um-icon-social-euro-outline:before{content:"\f4e0"}.um-icon-social-facebook:before{content:"\f231"}.um-icon-social-facebook-outline:before{content:"\f230"}.um-icon-social-foursquare:before{content:"\f34d"}.um-icon-social-foursquare-outline:before{content:"\f34c"}.um-icon-social-freebsd-devil:before{content:"\f2c4"}.um-icon-social-github:before{content:"\f233"}.um-icon-social-github-outline:before{content:"\f232"}.um-icon-social-google:before{content:"\f34f"}.um-icon-social-google-outline:before{content:"\f34e"}.um-icon-social-googleplus:before{content:"\f235"}.um-icon-social-googleplus-outline:before{content:"\f234"}.um-icon-social-hackernews:before{content:"\f237"}.um-icon-social-hackernews-outline:before{content:"\f236"}.um-icon-social-html5:before{content:"\f4e3"}.um-icon-social-html5-outline:before{content:"\f4e2"}.um-icon-social-instagram:before{content:"\f351"}.um-icon-social-instagram-outline:before{content:"\f350"}.um-icon-social-javascript:before{content:"\f4e5"}.um-icon-social-javascript-outline:before{content:"\f4e4"}.um-icon-social-linkedin:before{content:"\f239"}.um-icon-social-linkedin-outline:before{content:"\f238"}.um-icon-social-markdown:before{content:"\f4e6"}.um-icon-social-nodejs:before{content:"\f4e7"}.um-icon-social-octocat:before{content:"\f4e8"}.um-icon-social-pinterest:before{content:"\f2b1"}.um-icon-social-pinterest-outline:before{content:"\f2b0"}.um-icon-social-python:before{content:"\f4e9"}.um-icon-social-reddit:before{content:"\f23b"}.um-icon-social-reddit-outline:before{content:"\f23a"}.um-icon-social-rss:before{content:"\f23d"}.um-icon-social-rss-outline:before{content:"\f23c"}.um-icon-social-sass:before{content:"\f4ea"}.um-icon-social-skype:before{content:"\f23f"}.um-icon-social-skype-outline:before{content:"\f23e"}.um-icon-social-snapchat:before{content:"\f4ec"}.um-icon-social-snapchat-outline:before{content:"\f4eb"}.um-icon-social-tumblr:before{content:"\f241"}.um-icon-social-tumblr-outline:before{content:"\f240"}.um-icon-social-tux:before{content:"\f2c5"}.um-icon-social-twitch:before{content:"\f4ee"}.um-icon-social-twitch-outline:before{content:"\f4ed"}.um-icon-social-twitter:before{content:"\f243"}.um-icon-social-twitter-outline:before{content:"\f242"}.um-icon-social-usd:before{content:"\f353"}.um-icon-social-usd-outline:before{content:"\f352"}.um-icon-social-vimeo:before{content:"\f245"}.um-icon-social-vimeo-outline:before{content:"\f244"}.um-icon-social-whatsapp:before{content:"\f4f0"}.um-icon-social-whatsapp-outline:before{content:"\f4ef"}.um-icon-social-windows:before{content:"\f247"}.um-icon-social-windows-outline:before{content:"\f246"}.um-icon-social-wordpress:before{content:"\f249"}.um-icon-social-wordpress-outline:before{content:"\f248"}.um-icon-social-yahoo:before{content:"\f24b"}.um-icon-social-yahoo-outline:before{content:"\f24a"}.um-icon-social-yen:before{content:"\f4f2"}.um-icon-social-yen-outline:before{content:"\f4f1"}.um-icon-social-youtube:before{content:"\f24d"}.um-icon-social-youtube-outline:before{content:"\f24c"}.um-icon-soup-can:before{content:"\f4f4"}.um-icon-soup-can-outline:before{content:"\f4f3"}.um-icon-speakerphone:before{content:"\f2b2"}.um-icon-speedometer:before{content:"\f2b3"}.um-icon-spoon:before{content:"\f2b4"}.um-icon-star:before{content:"\f24e"}.um-icon-stats-bars:before{content:"\f2b5"}.um-icon-steam:before{content:"\f30b"}.um-icon-stop:before{content:"\f24f"}.um-icon-thermometer:before{content:"\f2b6"}.um-icon-thumbsdown:before{content:"\f250"}.um-icon-thumbsup:before{content:"\f251"}.um-icon-toggle:before{content:"\f355"}.um-icon-toggle-filled:before{content:"\f354"}.um-icon-transgender:before{content:"\f4f5"}.um-icon-trash-a:before{content:"\f252"}.um-icon-trash-b:before{content:"\f253"}.um-icon-trophy:before{content:"\f356"}.um-icon-tshirt:before{content:"\f4f7"}.um-icon-tshirt-outline:before{content:"\f4f6"}.um-icon-umbrella:before{content:"\f2b7"}.um-icon-university:before{content:"\f357"}.um-icon-unlocked:before{content:"\f254"}.um-icon-upload:before{content:"\f255"}.um-icon-usb:before{content:"\f2b8"}.um-icon-videocamera:before{content:"\f256"}.um-icon-volume-high:before{content:"\f257"}.um-icon-volume-low:before{content:"\f258"}.um-icon-volume-medium:before{content:"\f259"}.um-icon-volume-mute:before{content:"\f25a"}.um-icon-wand:before{content:"\f358"}.um-icon-waterdrop:before{content:"\f25b"}.um-icon-wifi:before{content:"\f25c"}.um-icon-wineglass:before{content:"\f2b9"}.um-icon-woman:before{content:"\f25d"}.um-icon-wrench:before{content:"\f2ba"}.um-icon-xbox:before{content:"\f30c"}.um{width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um *,.um :after,.um :before{box-sizing:content-box}.um-account-side li a,.um-cover a,.um-field-value a,.um-header a,.um-member-less a,.um-member-more a,.um-member-name a,.um-member-photo a,.um-members a,.um-members-pagi a,.um-members-pagi span{border-bottom:0!important}.um a:focus,.um-modal a:focus{outline:0!important}.um a .image-overlay,.um a:hover .image-overlay,.um a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um input,.um select,.um textarea{font-size:15px}.um *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:0 0 5px}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i,.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7ACF58}p.um-notice.err{background:#C74A4A}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}.um-field-error{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:900;color:#C74A4A;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field.um-is-conditional{display:none}.um-field-label{display:block;margin:0 0 8px}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative}.um-field-value p{margin:0 0 6px 0!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em}.um-form input[type=password],.um-form input[type=text]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static;outline:0!important}.um-form input[type=password]:focus,.um-form input[type=text]:focus,.um-form textarea:focus{box-shadow:none!important;outline:0!important}.um-form input[type=password].um-iconed,.um-form input[type=text].um-iconed{padding-left:44px!important}.um-form input[type=password].um-error,.um-form input[type=text].um-error{border-color:#C74A4A!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:0!important}.um-field-c .um-field-checkbox{margin:0!important;position:relative;top:-14px}.um-field-checkbox,.um-field-radio{display:block;margin:8px 0;position:relative;cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0px 0px 0px 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0;padding:15px 20px 5px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled{opacity:.6!important;cursor:default!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:0!important;margin:0;opacity:1}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important;opacity:1}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:10;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1)}.um-dropdown li,.um-dropdown ul{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:x-large;display:inline-block;font-weight:bold;position:relative;top:8px}.picker{font-size:16px;text-align:left;line-height:1.2;color:#fff;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;-moz-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:400px;width:100%;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:15%!important}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__wrap{display:block}}.picker__box{display:table-cell;vertical-align:middle}@media (min-height:33.875em){.picker__box{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}@media (min-height:40.125em){.picker__box{border-bottom-width:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.7);-webkit-transition:background .15s ease-out;-moz-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}.picker__header{text-align:center;position:relative;margin-top:.75em;border-radius:2px 2px 0 0;padding:15px 0;font-size:18px}.picker__month,.picker__year{display:inline-block;margin-left:10px;margin-right:10px}.picker__select--month,.picker__select--year{margin-left:.25em;margin-right:.25em;font-size:16px;color:#999;background:#fff!important;outline:0!important;border:0!important}@media (min-width:24.5em){.picker__select--month,.picker__select--year{margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box!important;top:8px;color:#fff}.picker__nav--prev{left:0;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:0;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.5em solid #fff;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.5em solid #fff}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#fff}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:5px;border:none;margin-bottom:0}.picker__table td{margin:0;padding:0 10px;text-align:center;border:0}.picker__weekday{width:14.285714286%;color:#fff;text-align:center;padding:5px 0!important}.picker__day{padding:10px 0;line-height:1em!important}.picker__day--today{position:relative}.picker__day--outfocus{opacity:.75}.picker__day--infocus:hover,.picker__day--outfocus:hover{border-radius:2px;cursor:pointer}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{border-radius:2px}.picker__day--disabled,.picker__day--disabled:hover{cursor:default;background:transparent!important;opacity:.3}.picker__footer{text-align:center;height:50px!important;line-height:50px!important;margin-top:5px;border-radius:0 0 2px 2px}.picker__button--clear,.picker__button--today{width:50%;display:inline-block;background:none!important;box-shadow:none!important;border:0!important;outline:0!important;box-sizing:border-box!important}.picker__button--clear:focus,.picker__button--clear:hover,.picker__button--today:focus,.picker__button--today:hover{cursor:pointer}.picker__list{list-style:none;list-style:none!important;padding:5px!important;margin:0!important}.picker__list-item{position:relative;border-radius:2px;display:inline-block;width:25%;text-align:center;box-sizing:border-box;padding:6px 0!important;margin:5px 0!important}.picker__list-item:hover{cursor:pointer;z-index:10}.picker__list-item--highlighted{z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;font-weight:700}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{color:#a9e792;cursor:default;background:0 0;z-index:auto}.picker--time .picker__button--clear{width:100%;display:inline-block;box-shadow:none!important;border:0!important;outline:0!important;background:none!important;border-radius:0 0 2px 2px;color:#fff!important}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{cursor:pointer}.picker--time .picker__frame{min-width:256px;max-width:400px}.picker--time .picker__box{font-size:15px;padding:0;border-radius:2px!important}@media (min-height:40.125em){.picker--time .picker__frame{margin-bottom:10%!important}}.um-members img{display:block;overflow:hidden;-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;margin:0!important;padding:0!important}.um-members a,.um-members a:hover{text-decoration:none!important}.um-members-intro{text-align:center;margin:0 0 20px}.um-members-total{font-size:30px;font-weight:300}.um-members-none{text-align:center;font-size:18px}.um-search{text-align:center;padding:20px 50px}.um-search.um-search-2{padding-left:20%;padding-right:20%;width:100%;box-sizing:border-box}.um-search.um-search-1{padding-left:32%;padding-right:32%;width:100%;box-sizing:border-box}.um-search.um-search-1 .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 10px!important}.um-search.um-search-1 .um-search-filter{width:100%;padding:0 0 10px;float:none}.um-search.um-search-2 .um-search-filter{width:50%}.um-search-filter{padding:0 15px 30px;display:block;float:left;width:33%;box-sizing:border-box}.um-search-submit .um-button{display:inline-block!important;width:auto!important;padding:12px 20px!important;margin:0 10px!important;min-width:150px!important}.um-members{-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-member{float:left;width:30%;background:#fff;text-align:center;border:1px solid #eee;box-sizing:border-box;margin-bottom:40px;position:relative}.um-member.awaiting_admin_review,.um-member.inactive,.um-member.rejected{opacity:.7}.um-member-status{display:none}.um-member-status.awaiting_admin_review,.um-member-status.inactive,.um-member-status.rejected{display:block;position:absolute;top:0;left:0;width:100%;padding:7px 15px;background:#C74A4A;color:#fff;z-index:10;font-size:13px;box-sizing:border-box}.um-member-status.inactive,.um-member-status.rejected{background:#999}.um-gutter-sizer{width:5%}.um-member-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-member-cover-e{text-align:center;box-sizing:border-box}.um-member-cover-e img{width:100%!important}.um-member-photo{padding:40px 0 20px;text-align:center}.um-member-photo a{display:inline!important}.um-member-photo img{display:inline!important;border:5px solid #fff;background:#fff;width:140px;height:140px;float:none!important}.um-member.with-cover .um-member-photo{padding-top:0}.um-member.with-cover .um-member-photo img{width:90px;height:90px;position:relative;top:-35px;margin-bottom:-45px!important;float:none!important;opacity:1}.um-member-photo.radius-1 img{-moz-border-radius:999px!important;-webkit-border-radius:999px!important;border-radius:999px!important}.um-member-photo.radius-2 img{-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important}.um-member-photo.radius-3 img{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important}.um-member-card.no-photo{padding-top:30px}.um-member-card{padding-bottom:15px}.um-member-name{margin:0 0 4px}.um-member-name a{font-size:16px;line-height:26px;color:#444;font-weight:700}.um-member-tagline{font-size:13px;line-height:22px;color:#999;padding:0 15px}.um-member-less{display:none}.um-member-less a,.um-member-more a{color:#666;display:inline-block}.um-member-less i,.um-member-more i{display:block;font-size:32px;height:32px;line-height:32px}.um-member-meta{display:none;margin:20px 15px 0;padding:15px 0;border-top:1px solid #e5e5e5}.um-member-meta.no-animate{display:block}.um-member-metaline{font-size:13px;padding:12px 0 0;line-height:16px;vertical-align:middle}.um-member-metaline span{display:block;text-align:center}.um-member-connect{padding-top:20px}.um-member-connect a{display:inline-block;width:40px;line-height:40px;height:40px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;color:#fff!important;opacity:.85;margin:0 1px;font-size:22px;transition:.25s}.um-member-connect a:hover{opacity:1;color:#fff}.um-members-pagi,.um-members-pagidrop{text-align:center;padding:5px 0;font-size:15px}.um-members-pagi span.current,.um-members-pagi span.current:hover{color:#fff!important}.um-members-pagi i:before{font-size:20px;vertical-align:middle!important;height:34px;line-height:34px;top:-2px;position:relative}.um-members-pagi span.disabled{opacity:.4;cursor:default}.um-members-pagi span.none{color:#aaa!important}.um-members-pagi span{cursor:default}.um-members-pagi a,.um-members-pagi span{display:inline-block;width:auto;height:34px;line-height:34px;transition:all .2s linear;padding:0 14px;color:#666!important;font-weight:400}.um-members-pagi a:hover{text-decoration:none!important}.um-popup-overlay{background:rgba(0,0,0,0.7);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-popup *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;top:10%;margin-left:-250px;width:500px;background:#fff;box-shadow:0 1px 3px #111;z-index:1999993;box-sizing:border-box;overflow:auto;color:#888;padding:0!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup.loading{background:#fff url(../img/loading.gif) no-repeat center;min-height:100px}.um-popup a{outline:none!important}.um-modal-overlay{background:rgba(0,0,0,0.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-modal *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-modal-hidden-content{display:none}.um-modal-close{display:block;position:fixed;right:0;top:0;font-size:24px;text-decoration:none!important;color:#fff!important;padding:0 10px}.um-modal{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;display:none;z-index:1999993;box-sizing:border-box;bottom:-50px}.um-modal.normal{width:500px;margin-left:-250px}.um-modal.large{width:730px;margin-left:-365px}.um-modal.small{width:400px;margin-left:-200px}.um-modal-body{min-height:3px;padding:20px;box-sizing:border-box;width:100%;background:#fff;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.um-modal-body.photo{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.1),0px 0 0 1px rgba(255,255,255,0.12) inset;background:#888;padding:0}.um-modal-body.photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:block;overflow:hidden;opacity:0}.um-modal.loading .um-modal-body{background:#fff url(../img/loading.gif) no-repeat center;min-height:150px}.um-modal div.um{margin-bottom:20px!important}.um-modal-header{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;height:44px;line-height:44px;color:#fff;padding:0 20px;box-sizing:border-box;font-size:17px}.um-modal-footer{margin-top:20px}.um-modal-left{float:left}.um-modal-right{float:right}.um-modal-btn.disabled,.um-modal-btn.disabled:hover{opacity:.5;cursor:default!important}.um-modal-btn{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;text-align:center;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s;text-decoration:none!important}.um-modal-btn:hover{background:#44b0ec;color:#fff}.um-modal-btn.alt{color:#666;background:#eee}.um-modal-btn.alt:hover{background:#e5e5e5}.um-profile{box-sizing:border-box}.um-profile .um-cover-overlay{display:none}.um-profile.um-editing .um-cover.has-cover .um-cover-overlay{display:block}.um-profile.um-viewing .um-profile-photo-overlay{display:none}.um-profile img{display:block;overflow:hidden;border-radius:0;margin:0!important}.um-profile a,.um-profile a:hover{text-decoration:none!important}.um-profile .um-profile-body{padding-top:15px;padding-bottom:15px;max-width:600px;margin:auto}.um-profile.um-editing{padding-bottom:15px}.um-profile.um-viewing{padding-bottom:1px}.um-profile.um-viewing .um-field-label{display:block;margin:0 0 8px;border-bottom:solid 2px #eee;padding-bottom:4px}.um-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-cover-add{color:#aaa;font-size:36px;width:100%;display:table}.um-cover-add span{display:table-cell;vertical-align:middle}.um-cover-e{text-align:center;box-sizing:border-box}.um-cover-e img{width:100%!important}.um-cover-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0 40px;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-cover-overlay:hover{background:rgba(0,0,0,.55)}.um-cover-overlay span.um-cover-overlay-s{display:table;height:100%;width:100%}.um-cover-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-cover-overlay i{font-size:46px;display:block;margin-bottom:6px}.um-header{position:relative;padding:0 0 25px;border-bottom:solid 2px #eee;min-height:85px;box-sizing:content-box!important}.um-profile-edit{position:absolute;top:15px;right:0;vertical-align:middle;font-size:30px;height:30px;line-height:30px;z-index:66;padding-right:10px}.um-header.no-cover .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important}.um-header.no-cover .um-name{float:none!important;margin-right:0!important}.um-header.no-cover .um-profile-photo{float:none!important;margin:0 auto!important;text-align:center!important}.um-header.no-cover a.um-profile-photo-img{position:relative!important;top:auto!important;left:auto!important;float:none!important;display:inline-block!important;text-align:center!important}.um-header.no-cover .um-main-meta{padding:0}.um-profile .gravatar{position:static}.um-profile-photo{float:left;position:relative}.um-profile-photo a.um-profile-photo-img{float:left;position:absolute;background:#fff;padding:5px;left:30px}.um-profile-photo a.um-profile-photo-img img{width:100%;height:100%}.um-profile-photo-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-profile-photo-overlay:hover{background:rgba(0,0,0,.55)}.um-profile-photo-overlay span.um-profile-photo-overlay-s{display:table;height:100%;width:100%}.um-profile-photo-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-profile-photo-overlay i{font-size:46px;display:block}.um-profile-meta{padding-right:30px;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-main-meta{padding:10px 0 0}.um-name{float:left;font-size:24px;font-weight:700;margin-right:30px;line-height:1.7em}.um-meta{font-size:15px}.um-meta span a{font-weight:400}.um-meta span:first-child{margin:0 5px 0 0}.um-meta span{margin:0 5px;font-size:14px;display:inline-block}.um-meta span i{font-size:16px;margin:0 5px 0 0}.um-meta-text{margin:6px 0 0;color:#666}.um-meta-text p{margin:0 0 6px 0!important;padding:0!important}.um-profile-status{display:none}.um-profile-status.awaiting_admin_review,.um-profile-status.inactive,.um-profile-status.rejected{display:inline-block;margin:6px 0 0;border-left:3px solid #C74A4A;padding-left:10px;font-size:14px;color:#777}.um-profile-note{display:none;text-align:center;margin-top:20px;color:#666}.um-profile-note i{display:inline-block;font-size:70px;height:70px;line-height:70px}.um-profile-note i.um-faicon-lock{position:relative;top:1px;display:inline-block;font-size:24px;height:auto;line-height:24px;margin-right:10px}.um-profile-note span{margin-top:10px;display:block;font-size:16px;color:#888}.um-profile-note a{border:none!important}.um-profile-note a:hover{text-decoration:underline!important}.um-profile-nav{padding:10px;background:#444;text-align:center}.um-profile-nav-item.active a,.um-profile-nav-item.active a:hover{color:#FFF!important}.um-profile-nav-item.active a span.count{background:0 0;padding:4px 0;color:#fff}.um-profile-nav-item a{color:#fff!important;font-size:14px;font-weight:600;padding:6px 10px 6px 28px;display:block;float:left;border-radius:4px;margin-left:5px;position:relative;border-bottom:0!important}.um-profile-nav-item.without-icon a{padding-left:10px}.um-profile-nav-item.without-icon span.title{padding-left:0}.um-profile-nav-item.without-icon i{display:none}.um-profile-nav-item a:hover{background:#555}.um-profile-nav-item i{font-size:18px;height:18px;line-height:18px;position:absolute;display:block;top:8px;left:10px}.um-profile-nav-item span.title{padding-left:5px}.um-profile-nav-item span.count{font-size:12px;font-weight:300;background:#ddd;color:#666;border-radius:3px;padding:4px 8px;margin-left:3px}.um-profile-subnav{background:#eee;padding:15px;text-align:center}.um-profile-subnav a{display:inline-block;color:#555;font-size:15px;font-weight:600;margin:0 20px}.um-profile-subnav a:hover{color:#333}.um-profile-subnav span{display:inline-block;margin:0 0 0 8px;background:#ddd;padding:1px 8px;color:#aaa!important;border-radius:2px}.um-item{padding:20px 0;border-bottom:1px solid #eee;position:relative}.um-item-action{position:absolute;right:0;top:16px;width:20px;height:20px;font-size:20px;text-align:center}.um-item-action a{color:#ccc}.um-item-action a:hover{color:#999}.um-item-link{padding-right:40px}.um-item-link a{color:#333;font-size:16px;line-height:20px}.um-item-link a:hover{text-decoration:underline!important}.um-item-link i{font-size:24px;color:#666;margin-right:10px;position:relative;top:3px}.um-item-img{padding:10px 0 0}.um-item-img a{display:inline-block;padding:8px;border-radius:3px;border:1px solid #ddd}.um-item-img a:hover{border-color:#bbb}.um-item-img img{max-width:100%;border-radius:3px}.um-item-meta{color:#888}.um-item-meta span{font-size:13px;font-weight:400;font-style:italic}.um-item-meta span:not(:last-child):after{position:relative;padding:0 4px 0 7px;content:"•"}.um-item-meta a{font-weight:700;border-bottom:1px solid #E0E0E0}.um-item-meta a:hover{border-bottom-color:#bbb}.um-load-items{text-align:center;margin-top:12px;padding-top:30px}.um-load-items.loading{background:url(../img/loading-dots.gif) no-repeat top center}.um-load-items a{max-width:250px;display:inline-block;margin:0 auto}.um-tab-notifier{position:absolute;background:none repeat scroll 0 0 #c65151;right:0;top:0;width:18px;height:18px;border-radius:999px;line-height:18px;top:2px;right:8px;font-size:11px;font-weight:400}@font-face{font-family:raty;font-style:normal;font-weight:400;src:url(../font/raty.eot);src:url(../font/raty.eot?#iefix) format("embedded-opentype");src:url(../font/raty.svg#raty) format("svg");src:url(../font/raty.ttf) format("truetype");src:url(../font/raty.woff) format("woff")}.cancel-off-png,.cancel-on-png,.star-half-png,.star-off-png,.star-on-png{font-family:raty;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-right:.2em;color:#ccc}.star-half-png,.star-on-png{color:#ffbe32}.cancel-on-png:before{content:"\e600"}.cancel-off-png:before{content:"\e601"}.star-on-png:before{content:"\f005"}.star-off-png:before{content:"\f006"}.star-half-png:before{content:"\f123"}.select2-container{margin:0!important;position:relative!important;display:inline-block!important;zoom:1!important;*display:inline!important;vertical-align:middle!important}.select2-container a:hover{color:#666!important}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block!important;height:36px!important;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;text-align:left!important;text-decoration:none!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#fff!important}.select2-container.select2-drop-above .select2-choice{-moz-border-radius:0 0 2px 2px!important;-webkit-border-radius:0 0 2px 2px!important;border-radius:0 0 2px 2px!important}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;float:none!important;width:auto!important;font-weight:400}.select2-container .select2-choice abbr{display:none;width:20px!important;height:100%!important;right:24px!important;font-size:1px!important;text-decoration:none!important;border:0!important;background:none!important;cursor:pointer!important;outline:0!important}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block!important}.select2-container .select2-choice abbr:hover{cursor:pointer!important}.select2-drop-mask{border:0!important;margin:0!important;padding:0!important;position:fixed!important;left:0!important;top:0!important;min-height:100%!important;min-width:100%!important;height:auto!important;width:auto!important;opacity:0!important;z-index:1999997!important;background-color:#fff!important;filter:alpha(opacity=0)!important}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:1999998!important;top:100%;background:#fff;color:#666;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;box-shadow:none}.select2-drop.select2-drop-above{margin-top:1px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;box-shadow:none}.select2-drop-active{box-shadow:none!important}.select2-drop-auto-width{width:auto!important}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute!important;right:0!important;top:0!important;-moz-border-radius:0 2px 2px 0!important;-webkit-border-radius:0 2px 2px 0!important;border-radius:0 2px 2px 0!important;text-align:center!important;background:transparent!important;border-left:0!important}.select2-container .select2-choice .select2-arrow *{line-height:100%!important;vertical-align:middle!important}.select2-container .select2-choice .select2-arrow b{display:block!important;width:100%!important;height:100%!important;background:none!important}.select2-container .select2-choice .select2-arrow:before{content:"\f3d0"!important;font-size:27px!important;font-family:Ionicons!important;width:100%!important;display:block;height:100%;line-height:36px}.select2-container .select2-choice .select2-arrow:hover:before{color:#666!important}.select2-search{display:inline-block!important;width:100%!important;min-height:32px!important;height:32px!important;line-height:1em!important;margin:0!important;padding-left:4px!important;padding-right:4px!important;position:relative!important;z-index:1999999!important;white-space:nowrap!important}.select2-search input[type=text]{background:none!important;width:100%!important;height:32px!important;line-height:auto!important;padding:0 38px 0 7px!important;margin:0!important;outline:0!important;border:1px solid #ddd!important;color:#666!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;font-size:15px!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;box-shadow:none!important}.select2-search:before{content:"\f4a4"!important;font-size:20px!important;height:32px!important;line-height:32px!important;font-family:Ionicons!important;top:0!important;right:10px!important;position:absolute!important}.select2-drop .select2-search{margin-top:4px!important}.select2-search input.select2-active{background:#fff!important}.select2-container-active .select2-choice,.select2-container-active .select2-choices{outline:0!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent!important;filter:none!important;border-color:transparent!important}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 5px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;font-size:15px;margin:0!important;padding:3px 0!important;color:#666!important}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700!important}.select2-results .select2-result-label{padding:3px 7px 4px!important;margin:0!important;cursor:pointer;min-height:1em!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:none!important;background:#f4f4f4!important;color:#666!important}.select2-results li em{background:#feffde!important;font-style:normal!important}.select2-results .select2-highlighted em{background:transparent!important}.select2-results .select2-highlighted ul{background:#fff!important;color:#666!important}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4!important;display:list-item!important;padding:5px!important;font-size:15px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results .select2-disabled .select2-result-label,.select2-results .select2-disabled.select2-highlighted .select2-result-label{color:#bbb!important;background:#fff!important;display:list-item!important;cursor:default!important}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4!important}.select2-more-results{background:#f4f4f4!important;display:list-item!important}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4!important;background-image:none!important;border:1px solid #ddd!important;cursor:default!important}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background:none!important;background:#f9f9f9!important;border-left:0!important}.select2-container.select2-container-disabled .select2-choice abbr{display:none!important}.select2-container-multi .select2-choices{height:auto!important;height:1%!important;margin:0!important;padding:1px 3px!important;position:relative!important;cursor:text!important;overflow:hidden!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;box-shadow:none!important}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px;background-image:none!important}.select2-container-multi.select2-container-active .select2-choices{outline:0;box-shadow:none}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px!important;margin:3px 0!important;font-size:100%;height:auto!important;outline:0;border:0!important;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff!important}.select2-container-multi .select2-choices .select2-search-choice{padding:4px 20px 4px 5px!important;margin:6px 0 4px 5px!important;position:relative;line-height:14px;font-size:14px;color:#666;cursor:default;border:1px solid #ddd;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#f9f9f9!important}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin-left:0;margin-right:5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#f1f1f1}.select2-search-choice-close{position:absolute!important;width:18px!important;height:18px!important;right:0!important;top:0!important;left:auto!important;outline:0!important;background:none!important}.select2-search-choice-close:before{content:"\f2d7"!important;font-size:22px!important;font-family:Ionicons!important;right:4px!important;position:relative!important;display:block;height:100%;width:100%;line-height:36px}.select2-search-choice-close:hover:before{color:#666!important}.select2-container-multi .select2-search-choice-close{text-decoration:none!important;width:21px!important;height:100%!important;text-align:center!important;border-bottom:0!important}.select2-container-multi .select2-search-choice-close:before{font-size:16px!important;right:0!important;line-height:23px!important}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}.tipsy{padding:5px;position:absolute;z-index:9999999999!important}.tipsy-inner{font-size:13px!important;line-height:17px!important;background-color:#333!important;color:#fff!important;max-width:250px!important;padding:6px 10px!important;text-align:left!important;word-wrap:break-word!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute!important;width:0!important;height:0!important;line-height:0!important;border:5px dashed #333}.tipsy-arrow-n{border-bottom-color:#333!important}.tipsy-arrow-s{border-top-color:#333!important}.tipsy-arrow-e{border-left-color:#333!important}.tipsy-arrow-w{border-right-color:#333!important}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.um-account p.um-notice{margin:0 0 20px 0!important;padding:12px 15px!important}.um-account a:focus{outline:0!important}.um-account-side{float:left;width:35%;padding:0 30px;box-sizing:border-box}.um-account-main{float:left;width:50%;padding:0 30px;box-sizing:border-box}.um-account-tab{display:none}.um-account-main div.um-account-heading{margin:0!important;font-size:18px;line-height:18px;font-weight:700;color:#555}.um-account-main div.um-account-heading i{margin-right:10px;font-size:26px;position:relative;top:2px}.um-account-main p{margin:20px 0 0!important;padding:0!important}.um-account-main label{font-size:15px}.um-account-meta{text-align:center;margin-bottom:20px}.um-account-meta img{margin:0!important;position:static!important;float:none!important;display:inline-block}.um-account-meta.radius-1 img{-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px}.um-account-meta.radius-2 img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.um-account-meta.radius-3 img{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-account-name a{font-weight:700;color:#555!important;text-decoration:none!important;font-size:18px;line-height:2em}.um-account-nav a{display:block;height:44px;line-height:44px;color:#666!important;text-decoration:none!important;position:relative;padding-left:40px;border-bottom:1px solid #eee;transition:all .2s linear;font-size:14px}.um-account-nav a.current{font-weight:700}.um-account-nav span.arr{position:absolute;right:0;top:1px;font-size:28px}.um-account-nav span.ico{position:absolute;left:0;top:0;font-size:21px;width:21px;text-align:center}.um-account-side li,.um-account-side ul{margin:0!important;padding:0!important;list-style-type:none!important}.um-account-side li{margin-bottom:1px!important;background:#eee}.um-account-side li a{display:block;padding:4px 0;font-size:14px;height:30px;line-height:20px;color:#999;position:relative}.um-account-side li a span.um-account-arrow{position:absolute;right:10px;top:6px;font-size:26px;opacity:0.6}.um-account-side li a span.um-account-icon,.um-account-side li a.current span.um-account-icon,.um-account-side li a.current:hover span.um-account-icon{text-align:center;font-size:20px;width:20px;height:30px;border-right:1px solid #ccc;color:#444;float:left;padding:0 15px;font-weight:400!important}.um-account-side li a span.um-account-icon i{display:block;height:30px;line-height:30px}.um-account-side li a span.um-account-title{padding-left:20px;float:left;height:30px;line-height:30px;color:#555}.um-account-side li a:hover{color:#444;background:#ddd}.um-account-side li a.current,.um-account-side li a.current:hover{color:#444;font-weight:700;text-decoration:none!important}.cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-canvas,.cropper-modal{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.um .um-single-file-preview,.um .um-single-image-preview{margin-bottom:20px}.um .um-single-image-preview>img{max-height:300px;display:inline-block;overflow:hidden;margin:auto;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.um-single-file-preview,.um-single-image-preview{display:none;text-align:center;position:relative}.um-single-file-preview.show,.um-single-image-preview.show{display:block}.um-single-image-preview>img{max-width:100%;max-height:inherit}.um-single-file-preview a.cancel,.um-single-image-preview a.cancel{position:absolute;top:-15px;right:-15px;width:30px;height:30px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;background:#ddd;cursor:pointer;text-decoration:none!important;z-index:666;opacity:.75}.um-single-file-preview a.cancel i,.um-single-image-preview a.cancel i{font-size:16px;color:#888;position:relative;display:block;width:100%;height:100%;line-height:30px;overflow:hidden}.um-single-file-preview a.cancel i:before,.um-single-image-preview a.cancel i:before{line-height:inherit}.um-single-fileinfo{padding:26px 0 20px;display:inline-block}.um-single-fileinfo span.icon{font-size:40px;display:inline-block;width:100px;height:70px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#666;color:#fff!important}.um-single-fileinfo span.icon i{display:block;height:70px;line-height:70px;overflow:hidden}.um-single-fileinfo span.icon i:before{line-height:inherit}.um-single-fileinfo span.filename{display:block;font-size:16px;color:#888;padding-top:5px}.um-single-fileinfo a{text-decoration:none!important;opacity:.9}.um-single-fileinfo a:hover{opacity:1}.upload-statusbar{margin:20px 0 0}.upload-filename{display:none!important}.upload-progress{position:relative;width:100%;box-sizing:border-box}.upload-bar{width:0;height:10px;color:#666;background:#7ACF58;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ajax-upload-dragdrop{width:100%;text-align:center;vertical-align:middle;padding:20px;box-sizing:border-box;border:2px dashed #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-size:18px;line-height:1em}.ajax-upload-dragdrop span.str{display:block;margin:0 0 15px}.ajax-upload-dragdrop span.icon{display:block;font-size:80px;line-height:80px;vertical-align:middle;margin-bottom:10px}.ajax-upload-dragdrop span.help{display:block;font-size:14px;color:#aaa;margin:0 0 12px}.upload{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;text-decoration:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s}.upload:hover{background:#44b0ec}.um-modal input[type=file]::-webkit-file-upload-button{cursor:pointer}.uimob340-show,.uimob500-show,.uimob800-show,.uimob960-show{display:none}div.uimob340 .uimob340-show,div.uimob500 .uimob500-show,div.uimob800 .uimob800-show,div.uimob960 .uimob960-show{display:block}div.uimob340 .uimob340-hide,div.uimob500 .uimob500-hide,div.uimob800 .uimob800-hide,div.uimob960 .uimob960-hide{display:none}div.uimob340 .um-item-link a{font-size:14px}div.uimob340 .um-item-meta span{font-size:13px}div.uimob340 .um-load-items a{width:100%!important;max-width:100%!important}div.uimob340 .um-profile-nav{padding:0}div.uimob340 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob340 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto}div.uimob340 .um-profile-subnav{padding:8px 15px}div.uimob340 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob340 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob340 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob340 .um-cover-overlay{padding:0}div.uimob340 .um-cover-overlay i,div.uimob340 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob340{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob340,.um-modal.uimob340 .um-modal-body,.um-modal.uimob340 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob340 .um-modal-header{text-align:center}.um-modal.uimob340 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob340 .um-modal-right{width:100%;float:none}.um-modal.uimob340 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob340 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob340 .um-profile-body{padding-left:0;padding-right:0}div.uimob340 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob340 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob340 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob340 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob340 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob340 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob340 .um-header .um-name{float:none!important;margin-right:0!important;font-size:18px}div.uimob340 .um-header .um-meta,div.uimob340 .um-header .um-meta-text{padding:0 20px}div.uimob340 .um-header .um-meta span:first-child{display:block}div.uimob340 .um-header .um-meta span{display:none}div.uimob340 .um-col-121,div.uimob340 .um-col-122,div.uimob340 .um-col-131,div.uimob340 .um-col-132,div.uimob340 .um-col-133{float:none;width:100%;margin:0}div.uimob340 .um-field-half{float:none;width:100%}div.uimob340 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob340 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob340 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob340 .um-member{width:100%}div.uimob340 .um-gutter-sizer{width:0}div.uimob340 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob340 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob340 .um-account-meta{margin-bottom:0}.uimob340 .um-half{float:none;width:100%;margin:0 0 10px}.uimob340 .um-button.um-btn-auto-width{min-width:auto;max-width:auto;width:100%}.uimob340 .um-col-alt-s{padding-top:0}div.uimob500 .um-profile-nav{padding:0}div.uimob500 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob500 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:22px;height:22px;line-height:22px}div.uimob500 .um-profile-subnav{padding:8px 15px}div.uimob500 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob500 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob500 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob500 .um-cover-overlay{padding:0}div.uimob500 .um-cover-overlay i,div.uimob500 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob500{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob500,.um-modal.uimob500 .um-modal-body,.um-modal.uimob500 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob500 .um-modal-header{text-align:center}.um-modal.uimob500 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob500 .um-modal-right{width:100%;float:none}.um-modal.uimob500 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob500 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob500 .um-profile-body{padding-left:0;padding-right:0}div.uimob500 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob500 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob500 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob500 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob500 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob500 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob500 .um-header .um-name{float:none!important;margin-right:0!important;font-size:21px}div.uimob500 .um-header .um-meta,div.uimob500 .um-header .um-meta-text{padding:0 20px}div.uimob500 .um-header .um-meta span:first-child{display:block}div.uimob500 .um-header .um-meta span{display:none}div.uimob500 .um-col-121,div.uimob500 .um-col-122,div.uimob500 .um-col-131,div.uimob500 .um-col-132,div.uimob500 .um-col-133{float:none;width:100%;margin:0}div.uimob500 .um-field-half{float:none;width:100%}div.uimob500 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob500 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob500 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob500 .um-member{width:100%}div.uimob500 .um-gutter-sizer{width:0}div.uimob500 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob500 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob500 .um-account-meta{margin-bottom:0}div.uimob800 .um-profile-nav{padding:0}div.uimob800 .um-profile-nav-item a{padding:10px 20px;margin-left:0;border-radius:0}div.uimob800 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:26px;height:26px;line-height:26px}div.uimob800 .um-profile-subnav{padding:8px 15px}div.uimob800 .um-profile-subnav a{display:block;text-align:left;font-size:14px;margin:0;padding:6px 0}div.uimob800 .um-profile-subnav span{font-size:12px;padding:2px 8px}div.uimob800 .um-account-main{width:90%;max-width:450px}div.uimob800 .um-account-side{padding:0;width:10%}div.uimob800 .um-account-side ul{border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.uimob800 .um-account-side li{margin-bottom:0!important;background:0 0}div.uimob800 .um-account-side li a{display:block;padding:0!important;height:44px;line-height:44px;color:#666!important;text-align:center;text-decoration:none!important;background:0 0;transition:all .2s linear}div.uimob800 .um-account-side li:first-child a{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}div.uimob800 .um-account-side li:last-child a{-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}div.uimob800 .um-account-side li a span.um-account-icontip{display:block;float:left;text-align:center;width:100%;height:100%;font-size:22px;line-height:44px}div.uimob800 .um-account-side li a span.um-account-icontip i{position:relative;text-align:center;width:100%}div.uimob800 .um-account-side li a.current,div.uimob800 .um-account-side li a.current:hover{color:#fff!important}div.uimob800 .um-account-meta a{border:1px solid #ddd}div.uimob800 .um-account-meta a,div.uimob800 .um-account-meta img{display:block;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;max-width:100%;height:auto}div.uimob800 .um-profile-photo{width:200px!important}div.uimob800 .um-profile-photo a.um-profile-photo-img{width:140px!important;height:140px!important;top:-70px!important}div.uimob800 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{top:auto!important}div.uimob800 .um-header .um-profile-meta{padding-left:200px}div.uimob800 .um-cover-overlay{padding:0}div.uimob800 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob800 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob800 .um-search .um-search-filter-2{margin-left:4%}div.uimob800 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob800 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob800 .um-member{width:48%}div.uimob800 .um-gutter-sizer{width:4%}div.uimob960 .um-col-131,div.uimob960 .um-col-132,div.uimob960 .um-col-133{float:none;width:100%;margin:0}div.uimob960 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob960 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob960 .um-search .um-search-filter-2{margin-left:4%}div.uimob960 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob960 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob960 .um-member{width:48%}div.uimob960 .um-gutter-sizer{width:4%}@media screen and (max-height:400px){.ajax-upload-dragdrop span.icon{display:none}.um-modal.no-photo{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.no-photo,.um-modal.no-photo .um-modal-body,.um-modal.no-photo .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.no-photo .um-modal-header{text-align:center;font-size:14px}.um-modal.no-photo .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.no-photo .um-modal-right{width:100%;float:none}.um-modal.no-photo .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}}@media screen and (max-height:300px){.ajax-upload-dragdrop span.icon,.ajax-upload-dragdrop span.str,.um-modal.no-photo .um-modal-header{display:none}}@media screen and (max-width:600px){.um-popup{width:96%;margin-left:2%;left:0;top:15px}} \ No newline at end of file +@-webkit-keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes um-effect-pop{50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}.um-effect-pop{-webkit-animation-name:um-effect-pop;animation-name:um-effect-pop;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:1;animation-iteration-count:1}.um-youtube,.um-vimeo,.um-googlemap{position:relative;height:0;overflow:hidden}.um-youtube{padding-bottom:56.25%}.um-vimeo{padding-bottom:56.25%}.um-googlemap{padding-bottom:75%}.um-youtube iframe,.um-vimeo iframe,.um-googlemap iframe{position:absolute;top:0;left:0;width:100%!important;height:100%!important}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.mCustomScrollbar{-ms-touch-action:none;touch-action:none}.mCustomScrollbar.mCS_no_scrollbar{-ms-touch-action:auto;touch-action:auto}.mCustomScrollBox{position:relative;overflow:hidden;height:100%;max-width:100%;outline:none;direction:ltr}.mCSB_container{overflow:hidden;width:auto;height:auto}.mCSB_inside>.mCSB_container{margin-right:0}.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container{margin-right:0;margin-left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden{margin-left:0}.mCSB_scrollTools{position:absolute;width:16px;height:auto;left:auto;top:0;right:0;bottom:0}.mCSB_outside+.mCSB_scrollTools{right:-26px}.mCS-dir-rtl>.mCSB_inside>.mCSB_scrollTools,.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{right:auto;left:0}.mCS-dir-rtl>.mCSB_outside+.mCSB_scrollTools{left:-26px}.mCSB_scrollTools .mCSB_draggerContainer{position:absolute;top:0;left:0;bottom:0;right:0;height:auto}.mCSB_scrollTools a+.mCSB_draggerContainer{margin:20px 0}.mCSB_scrollTools .mCSB_draggerRail{width:2px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCSB_scrollTools .mCSB_dragger{cursor:pointer;width:100%;height:30px;z-index:1}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{position:relative;width:4px;height:100%;margin:0 auto;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;text-align:center}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:12px}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:8px}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown{display:block;position:absolute;height:20px;width:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools .mCSB_buttonDown{bottom:0}.mCSB_horizontal.mCSB_inside>.mCSB_container{margin-right:0;margin-bottom:30px}.mCSB_horizontal.mCSB_outside>.mCSB_container{min-height:100%}.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal{width:auto;height:16px;top:auto;right:0;bottom:0;left:0}.mCustomScrollBox+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:-26px}.mCSB_scrollTools.mCSB_scrollTools_horizontal a+.mCSB_draggerContainer{margin:0 20px}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:2px;margin:7px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger{width:30px;height:100%;left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:12px;margin:2px auto}.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:8px;margin:4px 0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft,.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{display:block;position:absolute;width:20px;height:100%;overflow:hidden;margin:0 auto;cursor:pointer}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonLeft{left:0}.mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_buttonRight{right:0}.mCSB_container_wrapper{position:absolute;height:auto;width:auto;overflow:hidden;top:0;left:0;right:0;bottom:0;margin-right:30px;margin-bottom:30px}.mCSB_container_wrapper>.mCSB_container{padding-right:30px;padding-bottom:30px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:20px}.mCSB_vertical_horizontal>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:20px}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden+.mCSB_scrollTools.mCSB_scrollTools_vertical{bottom:0}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{right:0}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_scrollTools.mCSB_scrollTools_horizontal{left:20px}.mCS-dir-rtl>.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden+.mCSB_scrollTools ~ .mCSB_scrollTools.mCSB_scrollTools_horizontal{left:0}.mCS-dir-rtl>.mCSB_inside>.mCSB_container_wrapper{margin-right:0;margin-left:30px}.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden>.mCSB_container{padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden>.mCSB_container{padding-bottom:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_y.mCS_y_hidden{margin-right:0;margin-left:0}.mCustomScrollBox.mCSB_vertical_horizontal.mCSB_inside>.mCSB_container_wrapper.mCS_no_scrollbar_x.mCS_x_hidden{margin-bottom:0}.mCSB_scrollTools,.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger_bar,.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerRail{-webkit-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-moz-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;-o-transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out;transition:width .2s ease-out .2s,height .2s ease-out .2s,margin-left .2s ease-out .2s,margin-right .2s ease-out .2s,margin-top .2s ease-out .2s,margin-bottom .2s ease-out .2s,opacity .2s ease-in-out,background-color .2s ease-in-out}.mCSB_scrollTools{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCS-autoHide>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:0;filter:"alpha(opacity=0)";-ms-filter:"alpha(opacity=0)"}.mCustomScrollbar>.mCustomScrollBox>.mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollbar>.mCustomScrollBox ~ .mCSB_scrollTools.mCSB_scrollTools_onDrag,.mCustomScrollBox:hover>.mCSB_scrollTools,.mCustomScrollBox:hover ~ .mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox>.mCSB_scrollTools,.mCS-autoHide:hover>.mCustomScrollBox ~ .mCSB_scrollTools{opacity:1;filter:"alpha(opacity=100)";-ms-filter:"alpha(opacity=100)"}.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.4);filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75);filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85);filter:"alpha(opacity=85)";-ms-filter:"alpha(opacity=85)"}.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9);filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCSB_scrollTools .mCSB_buttonUp,.mCSB_scrollTools .mCSB_buttonDown,.mCSB_scrollTools .mCSB_buttonLeft,.mCSB_scrollTools .mCSB_buttonRight{background-image:url(mCSB_buttons.png);background-repeat:no-repeat;opacity:.4;filter:"alpha(opacity=40)";-ms-filter:"alpha(opacity=40)"}.mCSB_scrollTools .mCSB_buttonUp:hover,.mCSB_scrollTools .mCSB_buttonDown:hover,.mCSB_scrollTools .mCSB_buttonLeft:hover,.mCSB_scrollTools .mCSB_buttonRight:hover{opacity:.75;filter:"alpha(opacity=75)";-ms-filter:"alpha(opacity=75)"}.mCSB_scrollTools .mCSB_buttonUp:active,.mCSB_scrollTools .mCSB_buttonDown:active,.mCSB_scrollTools .mCSB_buttonLeft:active,.mCSB_scrollTools .mCSB_buttonRight:active{opacity:.9;filter:"alpha(opacity=90)";-ms-filter:"alpha(opacity=90)"}.mCS-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.85)}.mCS-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.9)}.mCS-light-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-light-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:4px;margin:6px auto}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-2.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-2.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-2.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thick.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{width:4px;background-color:#fff;background-color:rgba(255,255,255,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;background-color:#fff;background-color:rgba(255,255,255,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:4px;margin:6px 0}.mCS-light-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:6px;margin:5px auto}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-light-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-light-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)}.mCS-dark-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75);-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.1)}.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:2px}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%}.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:2px;margin:7px auto}.mCS-dark-thin.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-thin.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.15)}.mCS-rounded.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger{height:14px}.mCS-rounded.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:14px;margin:0 1px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:14px}.mCS-rounded.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:14px;margin:1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{width:16px;height:16px;margin:-1px 0}.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:4px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_dragger .mCSB_dragger_bar{height:16px;width:16px;margin:0 -1px}.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-rounded-dark.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:4px;margin:6px 0}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.15)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-rounded-dots.mCSB_scrollTools_vertical .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_vertical .mCSB_draggerRail{width:4px}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{background-color:transparent;background-position:center}.mCS-rounded-dots.mCSB_scrollTools .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANElEQVQYV2NkIAAYiVbw//9/Y6DiM1ANJoyMjGdBbLgJQAX/kU0DKgDLkaQAvxW4HEvQFwCRcxIJK1XznAAAAABJRU5ErkJggg==");background-repeat:repeat-y;opacity:.3;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-rounded-dots.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-rounded-dots-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{height:4px;margin:6px 0;background-repeat:repeat-x}.mCS-rounded-dots-dark.mCSB_scrollTools .mCSB_draggerRail{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYV2NkIAAYSVFgDFR8BqrBBEifBbGRTfiPZhpYjiQFBK3A6l6CvgAAE9kGCd1mvgEAAAAASUVORK5CYII=")}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-y;background-image:-moz-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,right top,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(left,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to right,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{background-repeat:repeat-x;background-image:-moz-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,255,255,0.5)),color-stop(100%,rgba(255,255,255,0)));background-image:-webkit-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-o-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:-ms-linear-gradient(top,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%);background-image:linear-gradient(to bottom,rgba(255,255,255,0.5) 0,rgba(255,255,255,0) 100%)}.mCS-3d.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:70px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:70px}.mCS-3d.mCSB_scrollTools,.mCS-3d-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px}.mCS-3d.mCSB_scrollTools .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{width:8px;background-color:#000;background-color:rgba(0,0,0,0.2);box-shadow:inset 1px 0 1px rgba(0,0,0,0.5),inset -1px 0 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:8px}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:8px;margin:4px 0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.5),inset 0 -1px 1px rgba(255,255,255,0.2)}.mCS-3d.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{width:100%;height:8px;margin:4px auto}.mCS-3d-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1);box-shadow:inset 1px 0 1px rgba(0,0,0,0.1)}.mCS-3d-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools{opacity:1;filter:"alpha(opacity=30)";-ms-filter:"alpha(opacity=30)"}.mCS-3d-thick.mCSB_scrollTools,.mCS-3d-thick-dark.mCSB_scrollTools,.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.mCSB_inside+.mCS-3d-thick.mCSB_scrollTools_vertical,.mCSB_inside+.mCS-3d-thick-dark.mCSB_scrollTools_vertical{right:1px}.mCS-3d-thick.mCSB_scrollTools_vertical,.mCS-3d-thick-dark.mCSB_scrollTools_vertical{box-shadow:inset 1px 0 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools_horizontal,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{bottom:1px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.5)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4);width:12px;margin:2px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4)}.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#555}.mCS-3d-thick.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:12px;width:auto}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerContainer{background-color:#000;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-3d-thick-dark.mCSB_scrollTools{box-shadow:inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal{box-shadow:inset 0 1px 1px rgba(0,0,0,0.1),inset 0 0 14px rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 1px 0 0 rgba(255,255,255,0.4),inset -1px 0 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{box-shadow:inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.2)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#777}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerContainer{background-color:#fff;background-color:rgba(0,0,0,0.05);box-shadow:inset 1px 1px 16px rgba(0,0,0,0.1)}.mCS-3d-thick-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{right:0;margin:12px 0}.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools.mCSB_scrollTools_horizontal,.mCustomScrollBox.mCS-minimal-dark+.mCSB_scrollTools+.mCSB_scrollTools.mCSB_scrollTools_horizontal{bottom:0;margin:0 12px}.mCS-dir-rtl>.mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,.mCS-dir-rtl>.mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical{left:0;right:auto}.mCS-minimal.mCSB_scrollTools .mCSB_draggerRail,.mCS-minimal-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent}.mCS-minimal.mCSB_scrollTools_vertical .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_vertical .mCSB_dragger{height:50px}.mCS-minimal.mCSB_scrollTools_horizontal .mCSB_dragger,.mCS-minimal-dark.mCSB_scrollTools_horizontal .mCSB_dragger{width:50px}.mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.2);filter:"alpha(opacity=20)";-ms-filter:"alpha(opacity=20)"}.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.5);filter:"alpha(opacity=50)";-ms-filter:"alpha(opacity=50)"}.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{width:6px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px}.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-light-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:6px;margin:5px 0}.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_vertical.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{width:12px}.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-light-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_dragger.mCSB_dragger_onDrag_expanded+.mCSB_draggerRail,.mCS-dark-3.mCSB_scrollTools_horizontal.mCSB_scrollTools_onDrag_expand .mCSB_draggerContainer:hover .mCSB_draggerRail{height:12px;margin:2px 0}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:rgba(0,0,0,0.1)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-dark-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:rgba(0,0,0,0.15)}.mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail{background-color:rgba(0,0,0,0.1)}.mCS-inset.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{width:12px;background-color:#000;background-color:rgba(0,0,0,0.2)}.mCS-inset.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{width:6px;margin:3px 5px;position:absolute;height:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{height:6px;margin:5px 3px;position:absolute;width:auto;top:0;bottom:0;left:0;right:0}.mCS-inset.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3.mCSB_scrollTools_horizontal .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools_horizontal .mCSB_draggerRail{width:100%;height:12px;margin:2px 0}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.1)}.mCS-inset-2.mCSB_scrollTools .mCSB_draggerRail,.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:transparent;border-width:1px;border-style:solid;border-color:#fff;border-color:rgba(255,255,255,0.2);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mCS-inset-2-dark.mCSB_scrollTools .mCSB_draggerRail{border-color:#000;border-color:rgba(0,0,0,0.2)}.mCS-inset-3.mCSB_scrollTools .mCSB_draggerRail{background-color:#fff;background-color:rgba(255,255,255,0.6)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_draggerRail{background-color:#000;background-color:rgba(0,0,0,0.6)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.75)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.85)}.mCS-inset-3.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#000;background-color:rgba(0,0,0,0.9)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.75)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.85)}.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{background-color:#fff;background-color:rgba(255,255,255,0.9)} +.um-login.um-logout{max-width:300px!important}.um-misc-with-img{position:relative;font-size:15px;border-bottom:3px solid #eee;text-align:center;margin-bottom:14px;padding-top:4px;padding-bottom:14px}.um-misc-img{text-align:center}.um-misc-img img{border-radius:999px;height:auto!important;display:inline-block!important}.um-misc-ul,.um-misc-ul li{font-size:14px}.um-profile-connect.um-member-connect{padding:5px 0 10px}.um-profile-connect.um-member-connect a{text-align:center;width:36px;line-height:36px;height:36px;font-size:20px}@charset "UTF-8";@font-face{font-family:FontAwesome;src:url(../font/fontawesome-webfont.eot?v=4.2.0);src:url(../font/fontawesome-webfont.eot?v=4.2.0#iefix) format("embedded-opentype"),url(../font/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../font/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../font/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}[class*=" um-faicon-"]:before,[class^=um-faicon-]:before{font-family:FontAwesome!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-faicon-glass:before{content:"\f000"}.um-faicon-music:before{content:"\f001"}.um-faicon-search:before{content:"\f002"}.um-faicon-envelope-o:before{content:"\f003"}.um-faicon-heart:before{content:"\f004"}.um-faicon-star:before{content:"\f005"}.um-faicon-star-o:before{content:"\f006"}.um-faicon-user:before{content:"\f007"}.um-faicon-film:before{content:"\f008"}.um-faicon-th-large:before{content:"\f009"}.um-faicon-th:before{content:"\f00a"}.um-faicon-th-list:before{content:"\f00b"}.um-faicon-check:before{content:"\f00c"}.um-faicon-close:before,.um-faicon-remove:before,.um-faicon-times:before{content:"\f00d"}.um-faicon-search-plus:before{content:"\f00e"}.um-faicon-search-minus:before{content:"\f010"}.um-faicon-power-off:before{content:"\f011"}.um-faicon-signal:before{content:"\f012"}.um-faicon-cog:before,.um-faicon-gear:before{content:"\f013"}.um-faicon-trash-o:before{content:"\f014"}.um-faicon-home:before{content:"\f015"}.um-faicon-file-o:before{content:"\f016"}.um-faicon-clock-o:before{content:"\f017"}.um-faicon-road:before{content:"\f018"}.um-faicon-download:before{content:"\f019"}.um-faicon-arrow-circle-o-down:before{content:"\f01a"}.um-faicon-arrow-circle-o-up:before{content:"\f01b"}.um-faicon-inbox:before{content:"\f01c"}.um-faicon-play-circle-o:before{content:"\f01d"}.um-faicon-repeat:before,.um-faicon-rotate-right:before{content:"\f01e"}.um-faicon-refresh:before{content:"\f021"}.um-faicon-list-alt:before{content:"\f022"}.um-faicon-lock:before{content:"\f023"}.um-faicon-flag:before{content:"\f024"}.um-faicon-headphones:before{content:"\f025"}.um-faicon-volume-off:before{content:"\f026"}.um-faicon-volume-down:before{content:"\f027"}.um-faicon-volume-up:before{content:"\f028"}.um-faicon-qrcode:before{content:"\f029"}.um-faicon-barcode:before{content:"\f02a"}.um-faicon-tag:before{content:"\f02b"}.um-faicon-tags:before{content:"\f02c"}.um-faicon-book:before{content:"\f02d"}.um-faicon-bookmark:before{content:"\f02e"}.um-faicon-print:before{content:"\f02f"}.um-faicon-camera:before{content:"\f030"}.um-faicon-font:before{content:"\f031"}.um-faicon-bold:before{content:"\f032"}.um-faicon-italic:before{content:"\f033"}.um-faicon-text-height:before{content:"\f034"}.um-faicon-text-width:before{content:"\f035"}.um-faicon-align-left:before{content:"\f036"}.um-faicon-align-center:before{content:"\f037"}.um-faicon-align-right:before{content:"\f038"}.um-faicon-align-justify:before{content:"\f039"}.um-faicon-list:before{content:"\f03a"}.um-faicon-dedent:before,.um-faicon-outdent:before{content:"\f03b"}.um-faicon-indent:before{content:"\f03c"}.um-faicon-video-camera:before{content:"\f03d"}.um-faicon-image:before,.um-faicon-photo:before,.um-faicon-picture-o:before{content:"\f03e"}.um-faicon-pencil:before{content:"\f040"}.um-faicon-map-marker:before{content:"\f041"}.um-faicon-adjust:before{content:"\f042"}.um-faicon-tint:before{content:"\f043"}.um-faicon-edit:before,.um-faicon-pencil-square-o:before{content:"\f044"}.um-faicon-share-square-o:before{content:"\f045"}.um-faicon-check-square-o:before{content:"\f046"}.um-faicon-arrows:before{content:"\f047"}.um-faicon-step-backward:before{content:"\f048"}.um-faicon-fast-backward:before{content:"\f049"}.um-faicon-backward:before{content:"\f04a"}.um-faicon-play:before{content:"\f04b"}.um-faicon-pause:before{content:"\f04c"}.um-faicon-stop:before{content:"\f04d"}.um-faicon-forward:before{content:"\f04e"}.um-faicon-fast-forward:before{content:"\f050"}.um-faicon-step-forward:before{content:"\f051"}.um-faicon-eject:before{content:"\f052"}.um-faicon-chevron-left:before{content:"\f053"}.um-faicon-chevron-right:before{content:"\f054"}.um-faicon-plus-circle:before{content:"\f055"}.um-faicon-minus-circle:before{content:"\f056"}.um-faicon-times-circle:before{content:"\f057"}.um-faicon-check-circle:before{content:"\f058"}.um-faicon-question-circle:before{content:"\f059"}.um-faicon-info-circle:before{content:"\f05a"}.um-faicon-crosshairs:before{content:"\f05b"}.um-faicon-times-circle-o:before{content:"\f05c"}.um-faicon-check-circle-o:before{content:"\f05d"}.um-faicon-ban:before{content:"\f05e"}.um-faicon-arrow-left:before{content:"\f060"}.um-faicon-arrow-right:before{content:"\f061"}.um-faicon-arrow-up:before{content:"\f062"}.um-faicon-arrow-down:before{content:"\f063"}.um-faicon-mail-forward:before,.um-faicon-share:before{content:"\f064"}.um-faicon-expand:before{content:"\f065"}.um-faicon-compress:before{content:"\f066"}.um-faicon-plus:before{content:"\f067"}.um-faicon-minus:before{content:"\f068"}.um-faicon-asterisk:before{content:"\f069"}.um-faicon-exclamation-circle:before{content:"\f06a"}.um-faicon-gift:before{content:"\f06b"}.um-faicon-leaf:before{content:"\f06c"}.um-faicon-fire:before{content:"\f06d"}.um-faicon-eye:before{content:"\f06e"}.um-faicon-eye-slash:before{content:"\f070"}.um-faicon-exclamation-triangle:before,.um-faicon-warning:before{content:"\f071"}.um-faicon-plane:before{content:"\f072"}.um-faicon-calendar:before{content:"\f073"}.um-faicon-random:before{content:"\f074"}.um-faicon-comment:before{content:"\f075"}.um-faicon-magnet:before{content:"\f076"}.um-faicon-chevron-up:before{content:"\f077"}.um-faicon-chevron-down:before{content:"\f078"}.um-faicon-retweet:before{content:"\f079"}.um-faicon-shopping-cart:before{content:"\f07a"}.um-faicon-folder:before{content:"\f07b"}.um-faicon-folder-open:before{content:"\f07c"}.um-faicon-arrows-v:before{content:"\f07d"}.um-faicon-arrows-h:before{content:"\f07e"}.um-faicon-bar-chart-o:before,.um-faicon-bar-chart:before{content:"\f080"}.um-faicon-twitter-square:before{content:"\f081"}.um-faicon-facebook-square:before{content:"\f082"}.um-faicon-camera-retro:before{content:"\f083"}.um-faicon-key:before{content:"\f084"}.um-faicon-cogs:before,.um-faicon-gears:before{content:"\f085"}.um-faicon-comments:before{content:"\f086"}.um-faicon-thumbs-o-up:before{content:"\f087"}.um-faicon-thumbs-o-down:before{content:"\f088"}.um-faicon-star-half:before{content:"\f089"}.um-faicon-heart-o:before{content:"\f08a"}.um-faicon-sign-out:before{content:"\f08b"}.um-faicon-linkedin-square:before{content:"\f08c"}.um-faicon-thumb-tack:before{content:"\f08d"}.um-faicon-external-link:before{content:"\f08e"}.um-faicon-sign-in:before{content:"\f090"}.um-faicon-trophy:before{content:"\f091"}.um-faicon-github-square:before{content:"\f092"}.um-faicon-upload:before{content:"\f093"}.um-faicon-lemon-o:before{content:"\f094"}.um-faicon-phone:before{content:"\f095"}.um-faicon-square-o:before{content:"\f096"}.um-faicon-bookmark-o:before{content:"\f097"}.um-faicon-phone-square:before{content:"\f098"}.um-faicon-twitter:before{content:"\f099"}.um-faicon-facebook:before{content:"\f09a"}.um-faicon-github:before{content:"\f09b"}.um-faicon-unlock:before{content:"\f09c"}.um-faicon-credit-card:before{content:"\f09d"}.um-faicon-rss:before{content:"\f09e"}.um-faicon-hdd-o:before{content:"\f0a0"}.um-faicon-bullhorn:before{content:"\f0a1"}.um-faicon-bell:before{content:"\f0f3"}.um-faicon-certificate:before{content:"\f0a3"}.um-faicon-hand-o-right:before{content:"\f0a4"}.um-faicon-hand-o-left:before{content:"\f0a5"}.um-faicon-hand-o-up:before{content:"\f0a6"}.um-faicon-hand-o-down:before{content:"\f0a7"}.um-faicon-arrow-circle-left:before{content:"\f0a8"}.um-faicon-arrow-circle-right:before{content:"\f0a9"}.um-faicon-arrow-circle-up:before{content:"\f0aa"}.um-faicon-arrow-circle-down:before{content:"\f0ab"}.um-faicon-globe:before{content:"\f0ac"}.um-faicon-wrench:before{content:"\f0ad"}.um-faicon-tasks:before{content:"\f0ae"}.um-faicon-filter:before{content:"\f0b0"}.um-faicon-briefcase:before{content:"\f0b1"}.um-faicon-arrows-alt:before{content:"\f0b2"}.um-faicon-group:before,.um-faicon-users:before{content:"\f0c0"}.um-faicon-chain:before,.um-faicon-link:before{content:"\f0c1"}.um-faicon-cloud:before{content:"\f0c2"}.um-faicon-flask:before{content:"\f0c3"}.um-faicon-cut:before,.um-faicon-scissors:before{content:"\f0c4"}.um-faicon-copy:before,.um-faicon-files-o:before{content:"\f0c5"}.um-faicon-paperclip:before{content:"\f0c6"}.um-faicon-floppy-o:before,.um-faicon-save:before{content:"\f0c7"}.um-faicon-square:before{content:"\f0c8"}.um-faicon-bars:before,.um-faicon-navicon:before,.um-faicon-reorder:before{content:"\f0c9"}.um-faicon-list-ul:before{content:"\f0ca"}.um-faicon-list-ol:before{content:"\f0cb"}.um-faicon-strikethrough:before{content:"\f0cc"}.um-faicon-underline:before{content:"\f0cd"}.um-faicon-table:before{content:"\f0ce"}.um-faicon-magic:before{content:"\f0d0"}.um-faicon-truck:before{content:"\f0d1"}.um-faicon-pinterest:before{content:"\f0d2"}.um-faicon-pinterest-square:before{content:"\f0d3"}.um-faicon-google-plus-square:before{content:"\f0d4"}.um-faicon-google-plus:before{content:"\f0d5"}.um-faicon-money:before{content:"\f0d6"}.um-faicon-caret-down:before{content:"\f0d7"}.um-faicon-caret-up:before{content:"\f0d8"}.um-faicon-caret-left:before{content:"\f0d9"}.um-faicon-caret-right:before{content:"\f0da"}.um-faicon-columns:before{content:"\f0db"}.um-faicon-sort:before,.um-faicon-unsorted:before{content:"\f0dc"}.um-faicon-sort-desc:before,.um-faicon-sort-down:before{content:"\f0dd"}.um-faicon-sort-asc:before,.um-faicon-sort-up:before{content:"\f0de"}.um-faicon-envelope:before{content:"\f0e0"}.um-faicon-linkedin:before{content:"\f0e1"}.um-faicon-rotate-left:before,.um-faicon-undo:before{content:"\f0e2"}.um-faicon-gavel:before,.um-faicon-legal:before{content:"\f0e3"}.um-faicon-dashboard:before,.um-faicon-tachometer:before{content:"\f0e4"}.um-faicon-comment-o:before{content:"\f0e5"}.um-faicon-comments-o:before{content:"\f0e6"}.um-faicon-bolt:before,.um-faicon-flash:before{content:"\f0e7"}.um-faicon-sitemap:before{content:"\f0e8"}.um-faicon-umbrella:before{content:"\f0e9"}.um-faicon-clipboard:before,.um-faicon-paste:before{content:"\f0ea"}.um-faicon-lightbulb-o:before{content:"\f0eb"}.um-faicon-exchange:before{content:"\f0ec"}.um-faicon-cloud-download:before{content:"\f0ed"}.um-faicon-cloud-upload:before{content:"\f0ee"}.um-faicon-user-md:before{content:"\f0f0"}.um-faicon-stethoscope:before{content:"\f0f1"}.um-faicon-suitcase:before{content:"\f0f2"}.um-faicon-bell-o:before{content:"\f0a2"}.um-faicon-coffee:before{content:"\f0f4"}.um-faicon-cutlery:before{content:"\f0f5"}.um-faicon-file-text-o:before{content:"\f0f6"}.um-faicon-building-o:before{content:"\f0f7"}.um-faicon-hospital-o:before{content:"\f0f8"}.um-faicon-ambulance:before{content:"\f0f9"}.um-faicon-medkit:before{content:"\f0fa"}.um-faicon-fighter-jet:before{content:"\f0fb"}.um-faicon-beer:before{content:"\f0fc"}.um-faicon-h-square:before{content:"\f0fd"}.um-faicon-plus-square:before{content:"\f0fe"}.um-faicon-angle-double-left:before{content:"\f100"}.um-faicon-angle-double-right:before{content:"\f101"}.um-faicon-angle-double-up:before{content:"\f102"}.um-faicon-angle-double-down:before{content:"\f103"}.um-faicon-angle-left:before{content:"\f104"}.um-faicon-angle-right:before{content:"\f105"}.um-faicon-angle-up:before{content:"\f106"}.um-faicon-angle-down:before{content:"\f107"}.um-faicon-desktop:before{content:"\f108"}.um-faicon-laptop:before{content:"\f109"}.um-faicon-tablet:before{content:"\f10a"}.um-faicon-mobile-phone:before,.um-faicon-mobile:before{content:"\f10b"}.um-faicon-circle-o:before{content:"\f10c"}.um-faicon-quote-left:before{content:"\f10d"}.um-faicon-quote-right:before{content:"\f10e"}.um-faicon-spinner:before{content:"\f110"}.um-faicon-circle:before{content:"\f111"}.um-faicon-mail-reply:before,.um-faicon-reply:before{content:"\f112"}.um-faicon-github-alt:before{content:"\f113"}.um-faicon-folder-o:before{content:"\f114"}.um-faicon-folder-open-o:before{content:"\f115"}.um-faicon-smile-o:before{content:"\f118"}.um-faicon-frown-o:before{content:"\f119"}.um-faicon-meh-o:before{content:"\f11a"}.um-faicon-gamepad:before{content:"\f11b"}.um-faicon-keyboard-o:before{content:"\f11c"}.um-faicon-flag-o:before{content:"\f11d"}.um-faicon-flag-checkered:before{content:"\f11e"}.um-faicon-terminal:before{content:"\f120"}.um-faicon-code:before{content:"\f121"}.um-faicon-mail-reply-all:before,.um-faicon-reply-all:before{content:"\f122"}.um-faicon-star-half-empty:before,.um-faicon-star-half-full:before,.um-faicon-star-half-o:before{content:"\f123"}.um-faicon-location-arrow:before{content:"\f124"}.um-faicon-crop:before{content:"\f125"}.um-faicon-code-fork:before{content:"\f126"}.um-faicon-chain-broken:before,.um-faicon-unlink:before{content:"\f127"}.um-faicon-question:before{content:"\f128"}.um-faicon-info:before{content:"\f129"}.um-faicon-exclamation:before{content:"\f12a"}.um-faicon-superscript:before{content:"\f12b"}.um-faicon-subscript:before{content:"\f12c"}.um-faicon-eraser:before{content:"\f12d"}.um-faicon-puzzle-piece:before{content:"\f12e"}.um-faicon-microphone:before{content:"\f130"}.um-faicon-microphone-slash:before{content:"\f131"}.um-faicon-shield:before{content:"\f132"}.um-faicon-calendar-o:before{content:"\f133"}.um-faicon-fire-extinguisher:before{content:"\f134"}.um-faicon-rocket:before{content:"\f135"}.um-faicon-maxcdn:before{content:"\f136"}.um-faicon-chevron-circle-left:before{content:"\f137"}.um-faicon-chevron-circle-right:before{content:"\f138"}.um-faicon-chevron-circle-up:before{content:"\f139"}.um-faicon-chevron-circle-down:before{content:"\f13a"}.um-faicon-html5:before{content:"\f13b"}.um-faicon-css3:before{content:"\f13c"}.um-faicon-anchor:before{content:"\f13d"}.um-faicon-unlock-alt:before{content:"\f13e"}.um-faicon-bullseye:before{content:"\f140"}.um-faicon-ellipsis-h:before{content:"\f141"}.um-faicon-ellipsis-v:before{content:"\f142"}.um-faicon-rss-square:before{content:"\f143"}.um-faicon-play-circle:before{content:"\f144"}.um-faicon-ticket:before{content:"\f145"}.um-faicon-minus-square:before{content:"\f146"}.um-faicon-minus-square-o:before{content:"\f147"}.um-faicon-level-up:before{content:"\f148"}.um-faicon-level-down:before{content:"\f149"}.um-faicon-check-square:before{content:"\f14a"}.um-faicon-pencil-square:before{content:"\f14b"}.um-faicon-external-link-square:before{content:"\f14c"}.um-faicon-share-square:before{content:"\f14d"}.um-faicon-compass:before{content:"\f14e"}.um-faicon-caret-square-o-down:before,.um-faicon-toggle-down:before{content:"\f150"}.um-faicon-caret-square-o-up:before,.um-faicon-toggle-up:before{content:"\f151"}.um-faicon-caret-square-o-right:before,.um-faicon-toggle-right:before{content:"\f152"}.um-faicon-eur:before,.um-faicon-euro:before{content:"\f153"}.um-faicon-gbp:before{content:"\f154"}.um-faicon-dollar:before,.um-faicon-usd:before{content:"\f155"}.um-faicon-inr:before,.um-faicon-rupee:before{content:"\f156"}.um-faicon-cny:before,.um-faicon-jpy:before,.um-faicon-rmb:before,.um-faicon-yen:before{content:"\f157"}.um-faicon-rouble:before,.um-faicon-rub:before,.um-faicon-ruble:before{content:"\f158"}.um-faicon-krw:before,.um-faicon-won:before{content:"\f159"}.um-faicon-bitcoin:before,.um-faicon-btc:before{content:"\f15a"}.um-faicon-file:before{content:"\f15b"}.um-faicon-file-text:before{content:"\f15c"}.um-faicon-sort-alpha-asc:before{content:"\f15d"}.um-faicon-sort-alpha-desc:before{content:"\f15e"}.um-faicon-sort-amount-asc:before{content:"\f160"}.um-faicon-sort-amount-desc:before{content:"\f161"}.um-faicon-sort-numeric-asc:before{content:"\f162"}.um-faicon-sort-numeric-desc:before{content:"\f163"}.um-faicon-thumbs-up:before{content:"\f164"}.um-faicon-thumbs-down:before{content:"\f165"}.um-faicon-youtube-square:before{content:"\f166"}.um-faicon-youtube:before{content:"\f167"}.um-faicon-xing:before{content:"\f168"}.um-faicon-xing-square:before{content:"\f169"}.um-faicon-youtube-play:before{content:"\f16a"}.um-faicon-dropbox:before{content:"\f16b"}.um-faicon-stack-overflow:before{content:"\f16c"}.um-faicon-instagram:before{content:"\f16d"}.um-faicon-flickr:before{content:"\f16e"}.um-faicon-adn:before{content:"\f170"}.um-faicon-bitbucket:before{content:"\f171"}.um-faicon-bitbucket-square:before{content:"\f172"}.um-faicon-tumblr:before{content:"\f173"}.um-faicon-tumblr-square:before{content:"\f174"}.um-faicon-long-arrow-down:before{content:"\f175"}.um-faicon-long-arrow-up:before{content:"\f176"}.um-faicon-long-arrow-left:before{content:"\f177"}.um-faicon-long-arrow-right:before{content:"\f178"}.um-faicon-apple:before{content:"\f179"}.um-faicon-windows:before{content:"\f17a"}.um-faicon-android:before{content:"\f17b"}.um-faicon-linux:before{content:"\f17c"}.um-faicon-dribbble:before{content:"\f17d"}.um-faicon-skype:before{content:"\f17e"}.um-faicon-foursquare:before{content:"\f180"}.um-faicon-trello:before{content:"\f181"}.um-faicon-female:before{content:"\f182"}.um-faicon-male:before{content:"\f183"}.um-faicon-gittip:before{content:"\f184"}.um-faicon-sun-o:before{content:"\f185"}.um-faicon-moon-o:before{content:"\f186"}.um-faicon-archive:before{content:"\f187"}.um-faicon-bug:before{content:"\f188"}.um-faicon-vk:before{content:"\f189"}.um-faicon-weibo:before{content:"\f18a"}.um-faicon-renren:before{content:"\f18b"}.um-faicon-pagelines:before{content:"\f18c"}.um-faicon-stack-exchange:before{content:"\f18d"}.um-faicon-arrow-circle-o-right:before{content:"\f18e"}.um-faicon-arrow-circle-o-left:before{content:"\f190"}.um-faicon-caret-square-o-left:before,.um-faicon-toggle-left:before{content:"\f191"}.um-faicon-dot-circle-o:before{content:"\f192"}.um-faicon-wheelchair:before{content:"\f193"}.um-faicon-vimeo-square:before{content:"\f194"}.um-faicon-try:before,.um-faicon-turkish-lira:before{content:"\f195"}.um-faicon-plus-square-o:before{content:"\f196"}.um-faicon-space-shuttle:before{content:"\f197"}.um-faicon-slack:before{content:"\f198"}.um-faicon-envelope-square:before{content:"\f199"}.um-faicon-wordpress:before{content:"\f19a"}.um-faicon-openid:before{content:"\f19b"}.um-faicon-bank:before,.um-faicon-institution:before,.um-faicon-university:before{content:"\f19c"}.um-faicon-graduation-cap:before,.um-faicon-mortar-board:before{content:"\f19d"}.um-faicon-yahoo:before{content:"\f19e"}.um-faicon-google:before{content:"\f1a0"}.um-faicon-reddit:before{content:"\f1a1"}.um-faicon-reddit-square:before{content:"\f1a2"}.um-faicon-stumbleupon-circle:before{content:"\f1a3"}.um-faicon-stumbleupon:before{content:"\f1a4"}.um-faicon-delicious:before{content:"\f1a5"}.um-faicon-digg:before{content:"\f1a6"}.um-faicon-pied-piper:before{content:"\f1a7"}.um-faicon-pied-piper-alt:before{content:"\f1a8"}.um-faicon-drupal:before{content:"\f1a9"}.um-faicon-joomla:before{content:"\f1aa"}.um-faicon-language:before{content:"\f1ab"}.um-faicon-fax:before{content:"\f1ac"}.um-faicon-building:before{content:"\f1ad"}.um-faicon-child:before{content:"\f1ae"}.um-faicon-paw:before{content:"\f1b0"}.um-faicon-spoon:before{content:"\f1b1"}.um-faicon-cube:before{content:"\f1b2"}.um-faicon-cubes:before{content:"\f1b3"}.um-faicon-behance:before{content:"\f1b4"}.um-faicon-behance-square:before{content:"\f1b5"}.um-faicon-steam:before{content:"\f1b6"}.um-faicon-steam-square:before{content:"\f1b7"}.um-faicon-recycle:before{content:"\f1b8"}.um-faicon-automobile:before,.um-faicon-car:before{content:"\f1b9"}.um-faicon-cab:before,.um-faicon-taxi:before{content:"\f1ba"}.um-faicon-tree:before{content:"\f1bb"}.um-faicon-spotify:before{content:"\f1bc"}.um-faicon-deviantart:before{content:"\f1bd"}.um-faicon-soundcloud:before{content:"\f1be"}.um-faicon-database:before{content:"\f1c0"}.um-faicon-file-pdf-o:before{content:"\f1c1"}.um-faicon-file-word-o:before{content:"\f1c2"}.um-faicon-file-excel-o:before{content:"\f1c3"}.um-faicon-file-powerpoint-o:before{content:"\f1c4"}.um-faicon-file-image-o:before,.um-faicon-file-photo-o:before,.um-faicon-file-picture-o:before{content:"\f1c5"}.um-faicon-file-archive-o:before,.um-faicon-file-zip-o:before{content:"\f1c6"}.um-faicon-file-audio-o:before,.um-faicon-file-sound-o:before{content:"\f1c7"}.um-faicon-file-movie-o:before,.um-faicon-file-video-o:before{content:"\f1c8"}.um-faicon-file-code-o:before{content:"\f1c9"}.um-faicon-vine:before{content:"\f1ca"}.um-faicon-codepen:before{content:"\f1cb"}.um-faicon-jsfiddle:before{content:"\f1cc"}.um-faicon-life-bouy:before,.um-faicon-life-buoy:before,.um-faicon-life-ring:before,.um-faicon-life-saver:before,.um-faicon-support:before{content:"\f1cd"}.um-faicon-circle-o-notch:before{content:"\f1ce"}.um-faicon-ra:before,.um-faicon-rebel:before{content:"\f1d0"}.um-faicon-empire:before,.um-faicon-ge:before{content:"\f1d1"}.um-faicon-git-square:before{content:"\f1d2"}.um-faicon-git:before{content:"\f1d3"}.um-faicon-hacker-news:before{content:"\f1d4"}.um-faicon-tencent-weibo:before{content:"\f1d5"}.um-faicon-qq:before{content:"\f1d6"}.um-faicon-wechat:before,.um-faicon-weixin:before{content:"\f1d7"}.um-faicon-paper-plane:before,.um-faicon-send:before{content:"\f1d8"}.um-faicon-paper-plane-o:before,.um-faicon-send-o:before{content:"\f1d9"}.um-faicon-history:before{content:"\f1da"}.um-faicon-circle-thin:before{content:"\f1db"}.um-faicon-header:before{content:"\f1dc"}.um-faicon-paragraph:before{content:"\f1dd"}.um-faicon-sliders:before{content:"\f1de"}.um-faicon-share-alt:before{content:"\f1e0"}.um-faicon-share-alt-square:before{content:"\f1e1"}.um-faicon-bomb:before{content:"\f1e2"}.um-faicon-futbol-o:before,.um-faicon-soccer-ball-o:before{content:"\f1e3"}.um-faicon-tty:before{content:"\f1e4"}.um-faicon-binoculars:before{content:"\f1e5"}.um-faicon-plug:before{content:"\f1e6"}.um-faicon-slideshare:before{content:"\f1e7"}.um-faicon-twitch:before{content:"\f1e8"}.um-faicon-yelp:before{content:"\f1e9"}.um-faicon-newspaper-o:before{content:"\f1ea"}.um-faicon-wifi:before{content:"\f1eb"}.um-faicon-calculator:before{content:"\f1ec"}.um-faicon-paypal:before{content:"\f1ed"}.um-faicon-google-wallet:before{content:"\f1ee"}.um-faicon-cc-visa:before{content:"\f1f0"}.um-faicon-cc-mastercard:before{content:"\f1f1"}.um-faicon-cc-discover:before{content:"\f1f2"}.um-faicon-cc-amex:before{content:"\f1f3"}.um-faicon-cc-paypal:before{content:"\f1f4"}.um-faicon-cc-stripe:before{content:"\f1f5"}.um-faicon-bell-slash:before{content:"\f1f6"}.um-faicon-bell-slash-o:before{content:"\f1f7"}.um-faicon-trash:before{content:"\f1f8"}.um-faicon-copyright:before{content:"\f1f9"}.um-faicon-at:before{content:"\f1fa"}.um-faicon-eyedropper:before{content:"\f1fb"}.um-faicon-paint-brush:before{content:"\f1fc"}.um-faicon-birthday-cake:before{content:"\f1fd"}.um-faicon-area-chart:before{content:"\f1fe"}.um-faicon-pie-chart:before{content:"\f200"}.um-faicon-line-chart:before{content:"\f201"}.um-faicon-lastfm:before{content:"\f202"}.um-faicon-lastfm-square:before{content:"\f203"}.um-faicon-toggle-off:before{content:"\f204"}.um-faicon-toggle-on:before{content:"\f205"}.um-faicon-bicycle:before{content:"\f206"}.um-faicon-bus:before{content:"\f207"}.um-faicon-ioxhost:before{content:"\f208"}.um-faicon-angellist:before{content:"\f209"}.um-faicon-cc:before{content:"\f20a"}.um-faicon-ils:before,.um-faicon-shekel:before,.um-faicon-sheqel:before{content:"\f20b"}.um-faicon-meanpath:before{content:"\f20c"}@font-face{font-family:Ionicons;src:url(../font/ionicons.eot?v=2.0.0);src:url(../font/ionicons.eot?v=2.0.0#iefix) format("embedded-opentype"),url(../font/ionicons.woff?v=2.0.0) format("woff"),url(../font/ionicons.ttf?v=2.0.0) format("truetype"),url(../font/ionicons.svg?v=2.0.0#Ionicons) format("svg");font-weight:400;font-style:normal}[class*=" um-icon-"]:before,[class^=um-icon-]:before{font-family:Ionicons!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.um-icon-alert:before{content:"\f101"}.um-icon-alert-circled:before{content:"\f100"}.um-icon-android-add:before{content:"\f2c7"}.um-icon-android-add-circle:before{content:"\f359"}.um-icon-android-alarm-clock:before{content:"\f35a"}.um-icon-android-alert:before{content:"\f35b"}.um-icon-android-apps:before{content:"\f35c"}.um-icon-android-archive:before{content:"\f2c9"}.um-icon-android-arrow-back:before{content:"\f2ca"}.um-icon-android-arrow-down:before{content:"\f35d"}.um-icon-android-arrow-dropdown:before{content:"\f35f"}.um-icon-android-arrow-dropdown-circle:before{content:"\f35e"}.um-icon-android-arrow-dropleft:before{content:"\f361"}.um-icon-android-arrow-dropleft-circle:before{content:"\f360"}.um-icon-android-arrow-dropright:before{content:"\f363"}.um-icon-android-arrow-dropright-circle:before{content:"\f362"}.um-icon-android-arrow-dropup:before{content:"\f365"}.um-icon-android-arrow-dropup-circle:before{content:"\f364"}.um-icon-android-arrow-forward:before{content:"\f30f"}.um-icon-android-arrow-up:before{content:"\f366"}.um-icon-android-attach:before{content:"\f367"}.um-icon-android-bar:before{content:"\f368"}.um-icon-android-bicycle:before{content:"\f369"}.um-icon-android-boat:before{content:"\f36a"}.um-icon-android-bookmark:before{content:"\f36b"}.um-icon-android-bulb:before{content:"\f36c"}.um-icon-android-bus:before{content:"\f36d"}.um-icon-android-calendar:before{content:"\f2d1"}.um-icon-android-call:before{content:"\f2d2"}.um-icon-android-camera:before{content:"\f2d3"}.um-icon-android-cancel:before{content:"\f36e"}.um-icon-android-car:before{content:"\f36f"}.um-icon-android-cart:before{content:"\f370"}.um-icon-android-chat:before{content:"\f2d4"}.um-icon-android-checkbox:before{content:"\f374"}.um-icon-android-checkbox-blank:before{content:"\f371"}.um-icon-android-checkbox-outline:before{content:"\f373"}.um-icon-android-checkbox-outline-blank:before{content:"\f372"}.um-icon-android-checkmark-circle:before{content:"\f375"}.um-icon-android-clipboard:before{content:"\f376"}.um-icon-android-close:before{content:"\f2d7"}.um-icon-android-cloud:before{content:"\f37a"}.um-icon-android-cloud-circle:before{content:"\f377"}.um-icon-android-cloud-done:before{content:"\f378"}.um-icon-android-cloud-outline:before{content:"\f379"}.um-icon-android-color-palette:before{content:"\f37b"}.um-icon-android-compass:before{content:"\f37c"}.um-icon-android-contact:before{content:"\f2d8"}.um-icon-android-contacts:before{content:"\f2d9"}.um-icon-android-contract:before{content:"\f37d"}.um-icon-android-create:before{content:"\f37e"}.um-icon-android-delete:before{content:"\f37f"}.um-icon-android-desktop:before{content:"\f380"}.um-icon-android-document:before{content:"\f381"}.um-icon-android-done:before{content:"\f383"}.um-icon-android-done-all:before{content:"\f382"}.um-icon-android-download:before{content:"\f2dd"}.um-icon-android-drafts:before{content:"\f384"}.um-icon-android-exit:before{content:"\f385"}.um-icon-android-expand:before{content:"\f386"}.um-icon-android-favorite:before{content:"\f388"}.um-icon-android-favorite-outline:before{content:"\f387"}.um-icon-android-film:before{content:"\f389"}.um-icon-android-folder:before{content:"\f2e0"}.um-icon-android-folder-open:before{content:"\f38a"}.um-icon-android-funnel:before{content:"\f38b"}.um-icon-android-globe:before{content:"\f38c"}.um-icon-android-hand:before{content:"\f2e3"}.um-icon-android-hangout:before{content:"\f38d"}.um-icon-android-happy:before{content:"\f38e"}.um-icon-android-home:before{content:"\f38f"}.um-icon-android-image:before{content:"\f2e4"}.um-icon-android-laptop:before{content:"\f390"}.um-icon-android-list:before{content:"\f391"}.um-icon-android-locate:before{content:"\f2e9"}.um-icon-android-lock:before{content:"\f392"}.um-icon-android-mail:before{content:"\f2eb"}.um-icon-android-map:before{content:"\f393"}.um-icon-android-menu:before{content:"\f394"}.um-icon-android-microphone:before{content:"\f2ec"}.um-icon-android-microphone-off:before{content:"\f395"}.um-icon-android-more-horizontal:before{content:"\f396"}.um-icon-android-more-vertical:before{content:"\f397"}.um-icon-android-navigate:before{content:"\f398"}.um-icon-android-notifications:before{content:"\f39b"}.um-icon-android-notifications-none:before{content:"\f399"}.um-icon-android-notifications-off:before{content:"\f39a"}.um-icon-android-open:before{content:"\f39c"}.um-icon-android-options:before{content:"\f39d"}.um-icon-android-people:before{content:"\f39e"}.um-icon-android-person:before{content:"\f3a0"}.um-icon-android-person-add:before{content:"\f39f"}.um-icon-android-phone-landscape:before{content:"\f3a1"}.um-icon-android-phone-portrait:before{content:"\f3a2"}.um-icon-android-pin:before{content:"\f3a3"}.um-icon-android-plane:before{content:"\f3a4"}.um-icon-android-playstore:before{content:"\f2f0"}.um-icon-android-print:before{content:"\f3a5"}.um-icon-android-radio-button-off:before{content:"\f3a6"}.um-icon-android-radio-button-on:before{content:"\f3a7"}.um-icon-android-refresh:before{content:"\f3a8"}.um-icon-android-remove:before{content:"\f2f4"}.um-icon-android-remove-circle:before{content:"\f3a9"}.um-icon-android-restaurant:before{content:"\f3aa"}.um-icon-android-sad:before{content:"\f3ab"}.um-icon-android-search:before{content:"\f2f5"}.um-icon-android-send:before{content:"\f2f6"}.um-icon-android-settings:before{content:"\f2f7"}.um-icon-android-share:before{content:"\f2f8"}.um-icon-android-share-alt:before{content:"\f3ac"}.um-icon-android-star:before{content:"\f2fc"}.um-icon-android-star-half:before{content:"\f3ad"}.um-icon-android-star-outline:before{content:"\f3ae"}.um-icon-android-stopwatch:before{content:"\f2fd"}.um-icon-android-subway:before{content:"\f3af"}.um-icon-android-sunny:before{content:"\f3b0"}.um-icon-android-sync:before{content:"\f3b1"}.um-icon-android-textsms:before{content:"\f3b2"}.um-icon-android-time:before{content:"\f3b3"}.um-icon-android-train:before{content:"\f3b4"}.um-icon-android-unlock:before{content:"\f3b5"}.um-icon-android-upload:before{content:"\f3b6"}.um-icon-android-volume-down:before{content:"\f3b7"}.um-icon-android-volume-mute:before{content:"\f3b8"}.um-icon-android-volume-off:before{content:"\f3b9"}.um-icon-android-volume-up:before{content:"\f3ba"}.um-icon-android-walk:before{content:"\f3bb"}.um-icon-android-warning:before{content:"\f3bc"}.um-icon-android-watch:before{content:"\f3bd"}.um-icon-android-wifi:before{content:"\f305"}.um-icon-aperture:before{content:"\f313"}.um-icon-archive:before{content:"\f102"}.um-icon-arrow-down-a:before{content:"\f103"}.um-icon-arrow-down-b:before{content:"\f104"}.um-icon-arrow-down-c:before{content:"\f105"}.um-icon-arrow-expand:before{content:"\f25e"}.um-icon-arrow-graph-down-left:before{content:"\f25f"}.um-icon-arrow-graph-down-right:before{content:"\f260"}.um-icon-arrow-graph-up-left:before{content:"\f261"}.um-icon-arrow-graph-up-right:before{content:"\f262"}.um-icon-arrow-left-a:before{content:"\f106"}.um-icon-arrow-left-b:before{content:"\f107"}.um-icon-arrow-left-c:before{content:"\f108"}.um-icon-arrow-move:before{content:"\f263"}.um-icon-arrow-resize:before{content:"\f264"}.um-icon-arrow-return-left:before{content:"\f265"}.um-icon-arrow-return-right:before{content:"\f266"}.um-icon-arrow-right-a:before{content:"\f109"}.um-icon-arrow-right-b:before{content:"\f10a"}.um-icon-arrow-right-c:before{content:"\f10b"}.um-icon-arrow-shrink:before{content:"\f267"}.um-icon-arrow-swap:before{content:"\f268"}.um-icon-arrow-up-a:before{content:"\f10c"}.um-icon-arrow-up-b:before{content:"\f10d"}.um-icon-arrow-up-c:before{content:"\f10e"}.um-icon-asterisk:before{content:"\f314"}.um-icon-at:before{content:"\f10f"}.um-icon-backspace:before{content:"\f3bf"}.um-icon-backspace-outline:before{content:"\f3be"}.um-icon-bag:before{content:"\f110"}.um-icon-battery-charging:before{content:"\f111"}.um-icon-battery-empty:before{content:"\f112"}.um-icon-battery-full:before{content:"\f113"}.um-icon-battery-half:before{content:"\f114"}.um-icon-battery-low:before{content:"\f115"}.um-icon-beaker:before{content:"\f269"}.um-icon-beer:before{content:"\f26a"}.um-icon-bluetooth:before{content:"\f116"}.um-icon-bonfire:before{content:"\f315"}.um-icon-bookmark:before{content:"\f26b"}.um-icon-bowtie:before{content:"\f3c0"}.um-icon-briefcase:before{content:"\f26c"}.um-icon-bug:before{content:"\f2be"}.um-icon-calculator:before{content:"\f26d"}.um-icon-calendar:before{content:"\f117"}.um-icon-camera:before{content:"\f118"}.um-icon-card:before{content:"\f119"}.um-icon-cash:before{content:"\f316"}.um-icon-chatbox:before{content:"\f11b"}.um-icon-chatbox-working:before{content:"\f11a"}.um-icon-chatboxes:before{content:"\f11c"}.um-icon-chatbubble:before{content:"\f11e"}.um-icon-chatbubble-working:before{content:"\f11d"}.um-icon-chatbubbles:before{content:"\f11f"}.um-icon-checkmark:before{content:"\f122"}.um-icon-checkmark-circled:before{content:"\f120"}.um-icon-checkmark-round:before{content:"\f121"}.um-icon-chevron-down:before{content:"\f123"}.um-icon-chevron-left:before{content:"\f124"}.um-icon-chevron-right:before{content:"\f125"}.um-icon-chevron-up:before{content:"\f126"}.um-icon-clipboard:before{content:"\f127"}.um-icon-clock:before{content:"\f26e"}.um-icon-close:before{content:"\f12a"}.um-icon-close-circled:before{content:"\f128"}.um-icon-close-round:before{content:"\f129"}.um-icon-closed-captioning:before{content:"\f317"}.um-icon-cloud:before{content:"\f12b"}.um-icon-code:before{content:"\f271"}.um-icon-code-download:before{content:"\f26f"}.um-icon-code-working:before{content:"\f270"}.um-icon-coffee:before{content:"\f272"}.um-icon-compass:before{content:"\f273"}.um-icon-compose:before{content:"\f12c"}.um-icon-connection-bars:before{content:"\f274"}.um-icon-contrast:before{content:"\f275"}.um-icon-crop:before{content:"\f3c1"}.um-icon-cube:before{content:"\f318"}.um-icon-disc:before{content:"\f12d"}.um-icon-document:before{content:"\f12f"}.um-icon-document-text:before{content:"\f12e"}.um-icon-drag:before{content:"\f130"}.um-icon-earth:before{content:"\f276"}.um-icon-easel:before{content:"\f3c2"}.um-icon-edit:before{content:"\f2bf"}.um-icon-egg:before{content:"\f277"}.um-icon-eject:before{content:"\f131"}.um-icon-email:before{content:"\f132"}.um-icon-email-unread:before{content:"\f3c3"}.um-icon-erlenmeyer-flask:before{content:"\f3c5"}.um-icon-erlenmeyer-flask-bubbles:before{content:"\f3c4"}.um-icon-eye:before{content:"\f133"}.um-icon-eye-disabled:before{content:"\f306"}.um-icon-female:before{content:"\f278"}.um-icon-filing:before{content:"\f134"}.um-icon-film-marker:before{content:"\f135"}.um-icon-fireball:before{content:"\f319"}.um-icon-flag:before{content:"\f279"}.um-icon-flame:before{content:"\f31a"}.um-icon-flash:before{content:"\f137"}.um-icon-flash-off:before{content:"\f136"}.um-icon-folder:before{content:"\f139"}.um-icon-fork:before{content:"\f27a"}.um-icon-fork-repo:before{content:"\f2c0"}.um-icon-forward:before{content:"\f13a"}.um-icon-funnel:before{content:"\f31b"}.um-icon-gear-a:before{content:"\f13d"}.um-icon-gear-b:before{content:"\f13e"}.um-icon-grid:before{content:"\f13f"}.um-icon-hammer:before{content:"\f27b"}.um-icon-happy:before{content:"\f31c"}.um-icon-happy-outline:before{content:"\f3c6"}.um-icon-headphone:before{content:"\f140"}.um-icon-heart:before{content:"\f141"}.um-icon-heart-broken:before{content:"\f31d"}.um-icon-help:before{content:"\f143"}.um-icon-help-buoy:before{content:"\f27c"}.um-icon-help-circled:before{content:"\f142"}.um-icon-home:before{content:"\f144"}.um-icon-icecream:before{content:"\f27d"}.um-icon-image:before{content:"\f147"}.um-icon-images:before{content:"\f148"}.um-icon-information:before{content:"\f14a"}.um-icon-information-circled:before{content:"\f149"}.um-icon-ionic:before{content:"\f14b"}.um-icon-ios-alarm:before{content:"\f3c8"}.um-icon-ios-alarm-outline:before{content:"\f3c7"}.um-icon-ios-albums:before{content:"\f3ca"}.um-icon-ios-albums-outline:before{content:"\f3c9"}.um-icon-ios-americanfootball:before{content:"\f3cc"}.um-icon-ios-americanfootball-outline:before{content:"\f3cb"}.um-icon-ios-analytics:before{content:"\f3ce"}.um-icon-ios-analytics-outline:before{content:"\f3cd"}.um-icon-ios-arrow-back:before{content:"\f3cf"}.um-icon-ios-arrow-down:before{content:"\f3d0"}.um-icon-ios-arrow-forward:before{content:"\f3d1"}.um-icon-ios-arrow-left:before{content:"\f3d2"}.um-icon-ios-arrow-right:before{content:"\f3d3"}.um-icon-ios-arrow-thin-down:before{content:"\f3d4"}.um-icon-ios-arrow-thin-left:before{content:"\f3d5"}.um-icon-ios-arrow-thin-right:before{content:"\f3d6"}.um-icon-ios-arrow-thin-up:before{content:"\f3d7"}.um-icon-ios-arrow-up:before{content:"\f3d8"}.um-icon-ios-at:before{content:"\f3da"}.um-icon-ios-at-outline:before{content:"\f3d9"}.um-icon-ios-barcode:before{content:"\f3dc"}.um-icon-ios-barcode-outline:before{content:"\f3db"}.um-icon-ios-baseball:before{content:"\f3de"}.um-icon-ios-baseball-outline:before{content:"\f3dd"}.um-icon-ios-basketball:before{content:"\f3e0"}.um-icon-ios-basketball-outline:before{content:"\f3df"}.um-icon-ios-bell:before{content:"\f3e2"}.um-icon-ios-bell-outline:before{content:"\f3e1"}.um-icon-ios-body:before{content:"\f3e4"}.um-icon-ios-body-outline:before{content:"\f3e3"}.um-icon-ios-bolt:before{content:"\f3e6"}.um-icon-ios-bolt-outline:before{content:"\f3e5"}.um-icon-ios-book:before{content:"\f3e8"}.um-icon-ios-book-outline:before{content:"\f3e7"}.um-icon-ios-bookmarks:before{content:"\f3ea"}.um-icon-ios-bookmarks-outline:before{content:"\f3e9"}.um-icon-ios-box:before{content:"\f3ec"}.um-icon-ios-box-outline:before{content:"\f3eb"}.um-icon-ios-briefcase:before{content:"\f3ee"}.um-icon-ios-briefcase-outline:before{content:"\f3ed"}.um-icon-ios-browsers:before{content:"\f3f0"}.um-icon-ios-browsers-outline:before{content:"\f3ef"}.um-icon-ios-calculator:before{content:"\f3f2"}.um-icon-ios-calculator-outline:before{content:"\f3f1"}.um-icon-ios-calendar:before{content:"\f3f4"}.um-icon-ios-calendar-outline:before{content:"\f3f3"}.um-icon-ios-camera:before{content:"\f3f6"}.um-icon-ios-camera-outline:before{content:"\f3f5"}.um-icon-ios-cart:before{content:"\f3f8"}.um-icon-ios-cart-outline:before{content:"\f3f7"}.um-icon-ios-chatboxes:before{content:"\f3fa"}.um-icon-ios-chatboxes-outline:before{content:"\f3f9"}.um-icon-ios-chatbubble:before{content:"\f3fc"}.um-icon-ios-chatbubble-outline:before{content:"\f3fb"}.um-icon-ios-checkmark:before{content:"\f3ff"}.um-icon-ios-checkmark-empty:before{content:"\f3fd"}.um-icon-ios-checkmark-outline:before{content:"\f3fe"}.um-icon-ios-circle-filled:before{content:"\f400"}.um-icon-ios-circle-outline:before{content:"\f401"}.um-icon-ios-clock:before{content:"\f403"}.um-icon-ios-clock-outline:before{content:"\f402"}.um-icon-ios-close:before{content:"\f406"}.um-icon-ios-close-empty:before{content:"\f404"}.um-icon-ios-close-outline:before{content:"\f405"}.um-icon-ios-cloud:before{content:"\f40c"}.um-icon-ios-cloud-download:before{content:"\f408"}.um-icon-ios-cloud-download-outline:before{content:"\f407"}.um-icon-ios-cloud-outline:before{content:"\f409"}.um-icon-ios-cloud-upload:before{content:"\f40b"}.um-icon-ios-cloud-upload-outline:before{content:"\f40a"}.um-icon-ios-cloudy:before{content:"\f410"}.um-icon-ios-cloudy-night:before{content:"\f40e"}.um-icon-ios-cloudy-night-outline:before{content:"\f40d"}.um-icon-ios-cloudy-outline:before{content:"\f40f"}.um-icon-ios-cog:before{content:"\f412"}.um-icon-ios-cog-outline:before{content:"\f411"}.um-icon-ios-color-filter:before{content:"\f414"}.um-icon-ios-color-filter-outline:before{content:"\f413"}.um-icon-ios-color-wand:before{content:"\f416"}.um-icon-ios-color-wand-outline:before{content:"\f415"}.um-icon-ios-compose:before{content:"\f418"}.um-icon-ios-compose-outline:before{content:"\f417"}.um-icon-ios-contact:before{content:"\f41a"}.um-icon-ios-contact-outline:before{content:"\f419"}.um-icon-ios-copy:before{content:"\f41c"}.um-icon-ios-copy-outline:before{content:"\f41b"}.um-icon-ios-crop:before{content:"\f41e"}.um-icon-ios-crop-strong:before{content:"\f41d"}.um-icon-ios-download:before{content:"\f420"}.um-icon-ios-download-outline:before{content:"\f41f"}.um-icon-ios-drag:before{content:"\f421"}.um-icon-ios-email:before{content:"\f423"}.um-icon-ios-email-outline:before{content:"\f422"}.um-icon-ios-eye:before{content:"\f425"}.um-icon-ios-eye-outline:before{content:"\f424"}.um-icon-ios-fastforward:before{content:"\f427"}.um-icon-ios-fastforward-outline:before{content:"\f426"}.um-icon-ios-filing:before{content:"\f429"}.um-icon-ios-filing-outline:before{content:"\f428"}.um-icon-ios-film:before{content:"\f42b"}.um-icon-ios-film-outline:before{content:"\f42a"}.um-icon-ios-flag:before{content:"\f42d"}.um-icon-ios-flag-outline:before{content:"\f42c"}.um-icon-ios-flame:before{content:"\f42f"}.um-icon-ios-flame-outline:before{content:"\f42e"}.um-icon-ios-flask:before{content:"\f431"}.um-icon-ios-flask-outline:before{content:"\f430"}.um-icon-ios-flower:before{content:"\f433"}.um-icon-ios-flower-outline:before{content:"\f432"}.um-icon-ios-folder:before{content:"\f435"}.um-icon-ios-folder-outline:before{content:"\f434"}.um-icon-ios-football:before{content:"\f437"}.um-icon-ios-football-outline:before{content:"\f436"}.um-icon-ios-game-controller-a:before{content:"\f439"}.um-icon-ios-game-controller-a-outline:before{content:"\f438"}.um-icon-ios-game-controller-b:before{content:"\f43b"}.um-icon-ios-game-controller-b-outline:before{content:"\f43a"}.um-icon-ios-gear:before{content:"\f43d"}.um-icon-ios-gear-outline:before{content:"\f43c"}.um-icon-ios-glasses:before{content:"\f43f"}.um-icon-ios-glasses-outline:before{content:"\f43e"}.um-icon-ios-grid-view:before{content:"\f441"}.um-icon-ios-grid-view-outline:before{content:"\f440"}.um-icon-ios-heart:before{content:"\f443"}.um-icon-ios-heart-outline:before{content:"\f442"}.um-icon-ios-help:before{content:"\f446"}.um-icon-ios-help-empty:before{content:"\f444"}.um-icon-ios-help-outline:before{content:"\f445"}.um-icon-ios-home:before{content:"\f448"}.um-icon-ios-home-outline:before{content:"\f447"}.um-icon-ios-infinite:before{content:"\f44a"}.um-icon-ios-infinite-outline:before{content:"\f449"}.um-icon-ios-information:before{content:"\f44d"}.um-icon-ios-information-empty:before{content:"\f44b"}.um-icon-ios-information-outline:before{content:"\f44c"}.um-icon-ios-ionic-outline:before{content:"\f44e"}.um-icon-ios-keypad:before{content:"\f450"}.um-icon-ios-keypad-outline:before{content:"\f44f"}.um-icon-ios-lightbulb:before{content:"\f452"}.um-icon-ios-lightbulb-outline:before{content:"\f451"}.um-icon-ios-list:before{content:"\f454"}.um-icon-ios-list-outline:before{content:"\f453"}.um-icon-ios-location:before{content:"\f456"}.um-icon-ios-location-outline:before{content:"\f455"}.um-icon-ios-locked:before{content:"\f458"}.um-icon-ios-locked-outline:before{content:"\f457"}.um-icon-ios-loop:before{content:"\f45a"}.um-icon-ios-loop-strong:before{content:"\f459"}.um-icon-ios-medical:before{content:"\f45c"}.um-icon-ios-medical-outline:before{content:"\f45b"}.um-icon-ios-medkit:before{content:"\f45e"}.um-icon-ios-medkit-outline:before{content:"\f45d"}.um-icon-ios-mic:before{content:"\f461"}.um-icon-ios-mic-off:before{content:"\f45f"}.um-icon-ios-mic-outline:before{content:"\f460"}.um-icon-ios-minus:before{content:"\f464"}.um-icon-ios-minus-empty:before{content:"\f462"}.um-icon-ios-minus-outline:before{content:"\f463"}.um-icon-ios-monitor:before{content:"\f466"}.um-icon-ios-monitor-outline:before{content:"\f465"}.um-icon-ios-moon:before{content:"\f468"}.um-icon-ios-moon-outline:before{content:"\f467"}.um-icon-ios-more:before{content:"\f46a"}.um-icon-ios-more-outline:before{content:"\f469"}.um-icon-ios-musical-note:before{content:"\f46b"}.um-icon-ios-musical-notes:before{content:"\f46c"}.um-icon-ios-navigate:before{content:"\f46e"}.um-icon-ios-navigate-outline:before{content:"\f46d"}.um-icon-ios-nutrition:before{content:"\f470"}.um-icon-ios-nutrition-outline:before{content:"\f46f"}.um-icon-ios-paper:before{content:"\f472"}.um-icon-ios-paper-outline:before{content:"\f471"}.um-icon-ios-paperplane:before{content:"\f474"}.um-icon-ios-paperplane-outline:before{content:"\f473"}.um-icon-ios-partlysunny:before{content:"\f476"}.um-icon-ios-partlysunny-outline:before{content:"\f475"}.um-icon-ios-pause:before{content:"\f478"}.um-icon-ios-pause-outline:before{content:"\f477"}.um-icon-ios-paw:before{content:"\f47a"}.um-icon-ios-paw-outline:before{content:"\f479"}.um-icon-ios-people:before{content:"\f47c"}.um-icon-ios-people-outline:before{content:"\f47b"}.um-icon-ios-person:before{content:"\f47e"}.um-icon-ios-person-outline:before{content:"\f47d"}.um-icon-ios-personadd:before{content:"\f480"}.um-icon-ios-personadd-outline:before{content:"\f47f"}.um-icon-ios-photos:before{content:"\f482"}.um-icon-ios-photos-outline:before{content:"\f481"}.um-icon-ios-pie:before{content:"\f484"}.um-icon-ios-pie-outline:before{content:"\f483"}.um-icon-ios-pint:before{content:"\f486"}.um-icon-ios-pint-outline:before{content:"\f485"}.um-icon-ios-play:before{content:"\f488"}.um-icon-ios-play-outline:before{content:"\f487"}.um-icon-ios-plus:before{content:"\f48b"}.um-icon-ios-plus-empty:before{content:"\f489"}.um-icon-ios-plus-outline:before{content:"\f48a"}.um-icon-ios-pricetag:before{content:"\f48d"}.um-icon-ios-pricetag-outline:before{content:"\f48c"}.um-icon-ios-pricetags:before{content:"\f48f"}.um-icon-ios-pricetags-outline:before{content:"\f48e"}.um-icon-ios-printer:before{content:"\f491"}.um-icon-ios-printer-outline:before{content:"\f490"}.um-icon-ios-pulse:before{content:"\f493"}.um-icon-ios-pulse-strong:before{content:"\f492"}.um-icon-ios-rainy:before{content:"\f495"}.um-icon-ios-rainy-outline:before{content:"\f494"}.um-icon-ios-recording:before{content:"\f497"}.um-icon-ios-recording-outline:before{content:"\f496"}.um-icon-ios-redo:before{content:"\f499"}.um-icon-ios-redo-outline:before{content:"\f498"}.um-icon-ios-refresh:before{content:"\f49c"}.um-icon-ios-refresh-empty:before{content:"\f49a"}.um-icon-ios-refresh-outline:before{content:"\f49b"}.um-icon-ios-reload:before{content:"\f49d"}.um-icon-ios-reverse-camera:before{content:"\f49f"}.um-icon-ios-reverse-camera-outline:before{content:"\f49e"}.um-icon-ios-rewind:before{content:"\f4a1"}.um-icon-ios-rewind-outline:before{content:"\f4a0"}.um-icon-ios-rose:before{content:"\f4a3"}.um-icon-ios-rose-outline:before{content:"\f4a2"}.um-icon-ios-search:before{content:"\f4a5"}.um-icon-ios-search-strong:before{content:"\f4a4"}.um-icon-ios-settings:before{content:"\f4a7"}.um-icon-ios-settings-strong:before{content:"\f4a6"}.um-icon-ios-shuffle:before{content:"\f4a9"}.um-icon-ios-shuffle-strong:before{content:"\f4a8"}.um-icon-ios-skipbackward:before{content:"\f4ab"}.um-icon-ios-skipbackward-outline:before{content:"\f4aa"}.um-icon-ios-skipforward:before{content:"\f4ad"}.um-icon-ios-skipforward-outline:before{content:"\f4ac"}.um-icon-ios-snowy:before{content:"\f4ae"}.um-icon-ios-speedometer:before{content:"\f4b0"}.um-icon-ios-speedometer-outline:before{content:"\f4af"}.um-icon-ios-star:before{content:"\f4b3"}.um-icon-ios-star-half:before{content:"\f4b1"}.um-icon-ios-star-outline:before{content:"\f4b2"}.um-icon-ios-stopwatch:before{content:"\f4b5"}.um-icon-ios-stopwatch-outline:before{content:"\f4b4"}.um-icon-ios-sunny:before{content:"\f4b7"}.um-icon-ios-sunny-outline:before{content:"\f4b6"}.um-icon-ios-telephone:before{content:"\f4b9"}.um-icon-ios-telephone-outline:before{content:"\f4b8"}.um-icon-ios-tennisball:before{content:"\f4bb"}.um-icon-ios-tennisball-outline:before{content:"\f4ba"}.um-icon-ios-thunderstorm:before{content:"\f4bd"}.um-icon-ios-thunderstorm-outline:before{content:"\f4bc"}.um-icon-ios-time:before{content:"\f4bf"}.um-icon-ios-time-outline:before{content:"\f4be"}.um-icon-ios-timer:before{content:"\f4c1"}.um-icon-ios-timer-outline:before{content:"\f4c0"}.um-icon-ios-toggle:before{content:"\f4c3"}.um-icon-ios-toggle-outline:before{content:"\f4c2"}.um-icon-ios-trash:before{content:"\f4c5"}.um-icon-ios-trash-outline:before{content:"\f4c4"}.um-icon-ios-undo:before{content:"\f4c7"}.um-icon-ios-undo-outline:before{content:"\f4c6"}.um-icon-ios-unlocked:before{content:"\f4c9"}.um-icon-ios-unlocked-outline:before{content:"\f4c8"}.um-icon-ios-upload:before{content:"\f4cb"}.um-icon-ios-upload-outline:before{content:"\f4ca"}.um-icon-ios-videocam:before{content:"\f4cd"}.um-icon-ios-videocam-outline:before{content:"\f4cc"}.um-icon-ios-volume-high:before{content:"\f4ce"}.um-icon-ios-volume-low:before{content:"\f4cf"}.um-icon-ios-wineglass:before{content:"\f4d1"}.um-icon-ios-wineglass-outline:before{content:"\f4d0"}.um-icon-ios-world:before{content:"\f4d3"}.um-icon-ios-world-outline:before{content:"\f4d2"}.um-icon-ipad:before{content:"\f1f9"}.um-icon-iphone:before{content:"\f1fa"}.um-icon-ipod:before{content:"\f1fb"}.um-icon-jet:before{content:"\f295"}.um-icon-key:before{content:"\f296"}.um-icon-knife:before{content:"\f297"}.um-icon-laptop:before{content:"\f1fc"}.um-icon-leaf:before{content:"\f1fd"}.um-icon-levels:before{content:"\f298"}.um-icon-lightbulb:before{content:"\f299"}.um-icon-link:before{content:"\f1fe"}.um-icon-load-a:before{content:"\f29a"}.um-icon-load-b:before{content:"\f29b"}.um-icon-load-c:before{content:"\f29c"}.um-icon-load-d:before{content:"\f29d"}.um-icon-location:before{content:"\f1ff"}.um-icon-lock-combination:before{content:"\f4d4"}.um-icon-locked:before{content:"\f200"}.um-icon-log-in:before{content:"\f29e"}.um-icon-log-out:before{content:"\f29f"}.um-icon-loop:before{content:"\f201"}.um-icon-magnet:before{content:"\f2a0"}.um-icon-male:before{content:"\f2a1"}.um-icon-man:before{content:"\f202"}.um-icon-map:before{content:"\f203"}.um-icon-medkit:before{content:"\f2a2"}.um-icon-merge:before{content:"\f33f"}.um-icon-mic-a:before{content:"\f204"}.um-icon-mic-b:before{content:"\f205"}.um-icon-mic-c:before{content:"\f206"}.um-icon-minus:before{content:"\f209"}.um-icon-minus-circled:before{content:"\f207"}.um-icon-minus-round:before{content:"\f208"}.um-icon-model-s:before{content:"\f2c1"}.um-icon-monitor:before{content:"\f20a"}.um-icon-more:before{content:"\f20b"}.um-icon-mouse:before{content:"\f340"}.um-icon-music-note:before{content:"\f20c"}.um-icon-navicon:before{content:"\f20e"}.um-icon-navicon-round:before{content:"\f20d"}.um-icon-navigate:before{content:"\f2a3"}.um-icon-network:before{content:"\f341"}.um-icon-no-smoking:before{content:"\f2c2"}.um-icon-nuclear:before{content:"\f2a4"}.um-icon-outlet:before{content:"\f342"}.um-icon-paintbrush:before{content:"\f4d5"}.um-icon-paintbucket:before{content:"\f4d6"}.um-icon-paper-airplane:before{content:"\f2c3"}.um-icon-paperclip:before{content:"\f20f"}.um-icon-pause:before{content:"\f210"}.um-icon-person:before{content:"\f213"}.um-icon-person-add:before{content:"\f211"}.um-icon-person-stalker:before{content:"\f212"}.um-icon-pie-graph:before{content:"\f2a5"}.um-icon-pin:before{content:"\f2a6"}.um-icon-pinpoint:before{content:"\f2a7"}.um-icon-pizza:before{content:"\f2a8"}.um-icon-plane:before{content:"\f214"}.um-icon-planet:before{content:"\f343"}.um-icon-play:before{content:"\f215"}.um-icon-playstation:before{content:"\f30a"}.um-icon-plus:before{content:"\f218"}.um-icon-plus-circled:before{content:"\f216"}.um-icon-plus-round:before{content:"\f217"}.um-icon-podium:before{content:"\f344"}.um-icon-pound:before{content:"\f219"}.um-icon-power:before{content:"\f2a9"}.um-icon-pricetag:before{content:"\f2aa"}.um-icon-pricetags:before{content:"\f2ab"}.um-icon-printer:before{content:"\f21a"}.um-icon-pull-request:before{content:"\f345"}.um-icon-qr-scanner:before{content:"\f346"}.um-icon-quote:before{content:"\f347"}.um-icon-radio-waves:before{content:"\f2ac"}.um-icon-record:before{content:"\f21b"}.um-icon-refresh:before{content:"\f21c"}.um-icon-reply:before{content:"\f21e"}.um-icon-reply-all:before{content:"\f21d"}.um-icon-ribbon-a:before{content:"\f348"}.um-icon-ribbon-b:before{content:"\f349"}.um-icon-sad:before{content:"\f34a"}.um-icon-sad-outline:before{content:"\f4d7"}.um-icon-scissors:before{content:"\f34b"}.um-icon-search:before{content:"\f21f"}.um-icon-settings:before{content:"\f2ad"}.um-icon-share:before{content:"\f220"}.um-icon-shuffle:before{content:"\f221"}.um-icon-skip-backward:before{content:"\f222"}.um-icon-skip-forward:before{content:"\f223"}.um-icon-social-android:before{content:"\f225"}.um-icon-social-android-outline:before{content:"\f224"}.um-icon-social-angular:before{content:"\f4d9"}.um-icon-social-angular-outline:before{content:"\f4d8"}.um-icon-social-apple:before{content:"\f227"}.um-icon-social-apple-outline:before{content:"\f226"}.um-icon-social-bitcoin:before{content:"\f2af"}.um-icon-social-bitcoin-outline:before{content:"\f2ae"}.um-icon-social-buffer:before{content:"\f229"}.um-icon-social-buffer-outline:before{content:"\f228"}.um-icon-social-chrome:before{content:"\f4db"}.um-icon-social-chrome-outline:before{content:"\f4da"}.um-icon-social-codepen:before{content:"\f4dd"}.um-icon-social-codepen-outline:before{content:"\f4dc"}.um-icon-social-css3:before{content:"\f4df"}.um-icon-social-css3-outline:before{content:"\f4de"}.um-icon-social-designernews:before{content:"\f22b"}.um-icon-social-designernews-outline:before{content:"\f22a"}.um-icon-social-dribbble:before{content:"\f22d"}.um-icon-social-dribbble-outline:before{content:"\f22c"}.um-icon-social-dropbox:before{content:"\f22f"}.um-icon-social-dropbox-outline:before{content:"\f22e"}.um-icon-social-euro:before{content:"\f4e1"}.um-icon-social-euro-outline:before{content:"\f4e0"}.um-icon-social-facebook:before{content:"\f231"}.um-icon-social-facebook-outline:before{content:"\f230"}.um-icon-social-foursquare:before{content:"\f34d"}.um-icon-social-foursquare-outline:before{content:"\f34c"}.um-icon-social-freebsd-devil:before{content:"\f2c4"}.um-icon-social-github:before{content:"\f233"}.um-icon-social-github-outline:before{content:"\f232"}.um-icon-social-google:before{content:"\f34f"}.um-icon-social-google-outline:before{content:"\f34e"}.um-icon-social-googleplus:before{content:"\f235"}.um-icon-social-googleplus-outline:before{content:"\f234"}.um-icon-social-hackernews:before{content:"\f237"}.um-icon-social-hackernews-outline:before{content:"\f236"}.um-icon-social-html5:before{content:"\f4e3"}.um-icon-social-html5-outline:before{content:"\f4e2"}.um-icon-social-instagram:before{content:"\f351"}.um-icon-social-instagram-outline:before{content:"\f350"}.um-icon-social-javascript:before{content:"\f4e5"}.um-icon-social-javascript-outline:before{content:"\f4e4"}.um-icon-social-linkedin:before{content:"\f239"}.um-icon-social-linkedin-outline:before{content:"\f238"}.um-icon-social-markdown:before{content:"\f4e6"}.um-icon-social-nodejs:before{content:"\f4e7"}.um-icon-social-octocat:before{content:"\f4e8"}.um-icon-social-pinterest:before{content:"\f2b1"}.um-icon-social-pinterest-outline:before{content:"\f2b0"}.um-icon-social-python:before{content:"\f4e9"}.um-icon-social-reddit:before{content:"\f23b"}.um-icon-social-reddit-outline:before{content:"\f23a"}.um-icon-social-rss:before{content:"\f23d"}.um-icon-social-rss-outline:before{content:"\f23c"}.um-icon-social-sass:before{content:"\f4ea"}.um-icon-social-skype:before{content:"\f23f"}.um-icon-social-skype-outline:before{content:"\f23e"}.um-icon-social-snapchat:before{content:"\f4ec"}.um-icon-social-snapchat-outline:before{content:"\f4eb"}.um-icon-social-tumblr:before{content:"\f241"}.um-icon-social-tumblr-outline:before{content:"\f240"}.um-icon-social-tux:before{content:"\f2c5"}.um-icon-social-twitch:before{content:"\f4ee"}.um-icon-social-twitch-outline:before{content:"\f4ed"}.um-icon-social-twitter:before{content:"\f243"}.um-icon-social-twitter-outline:before{content:"\f242"}.um-icon-social-usd:before{content:"\f353"}.um-icon-social-usd-outline:before{content:"\f352"}.um-icon-social-vimeo:before{content:"\f245"}.um-icon-social-vimeo-outline:before{content:"\f244"}.um-icon-social-whatsapp:before{content:"\f4f0"}.um-icon-social-whatsapp-outline:before{content:"\f4ef"}.um-icon-social-windows:before{content:"\f247"}.um-icon-social-windows-outline:before{content:"\f246"}.um-icon-social-wordpress:before{content:"\f249"}.um-icon-social-wordpress-outline:before{content:"\f248"}.um-icon-social-yahoo:before{content:"\f24b"}.um-icon-social-yahoo-outline:before{content:"\f24a"}.um-icon-social-yen:before{content:"\f4f2"}.um-icon-social-yen-outline:before{content:"\f4f1"}.um-icon-social-youtube:before{content:"\f24d"}.um-icon-social-youtube-outline:before{content:"\f24c"}.um-icon-soup-can:before{content:"\f4f4"}.um-icon-soup-can-outline:before{content:"\f4f3"}.um-icon-speakerphone:before{content:"\f2b2"}.um-icon-speedometer:before{content:"\f2b3"}.um-icon-spoon:before{content:"\f2b4"}.um-icon-star:before{content:"\f24e"}.um-icon-stats-bars:before{content:"\f2b5"}.um-icon-steam:before{content:"\f30b"}.um-icon-stop:before{content:"\f24f"}.um-icon-thermometer:before{content:"\f2b6"}.um-icon-thumbsdown:before{content:"\f250"}.um-icon-thumbsup:before{content:"\f251"}.um-icon-toggle:before{content:"\f355"}.um-icon-toggle-filled:before{content:"\f354"}.um-icon-transgender:before{content:"\f4f5"}.um-icon-trash-a:before{content:"\f252"}.um-icon-trash-b:before{content:"\f253"}.um-icon-trophy:before{content:"\f356"}.um-icon-tshirt:before{content:"\f4f7"}.um-icon-tshirt-outline:before{content:"\f4f6"}.um-icon-umbrella:before{content:"\f2b7"}.um-icon-university:before{content:"\f357"}.um-icon-unlocked:before{content:"\f254"}.um-icon-upload:before{content:"\f255"}.um-icon-usb:before{content:"\f2b8"}.um-icon-videocamera:before{content:"\f256"}.um-icon-volume-high:before{content:"\f257"}.um-icon-volume-low:before{content:"\f258"}.um-icon-volume-medium:before{content:"\f259"}.um-icon-volume-mute:before{content:"\f25a"}.um-icon-wand:before{content:"\f358"}.um-icon-waterdrop:before{content:"\f25b"}.um-icon-wifi:before{content:"\f25c"}.um-icon-wineglass:before{content:"\f2b9"}.um-icon-woman:before{content:"\f25d"}.um-icon-wrench:before{content:"\f2ba"}.um-icon-xbox:before{content:"\f30c"}.um{width:100%;text-align:left;box-sizing:border-box;color:#666;font-size:15px;margin-bottom:30px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;opacity:0}.um-s1,.um-s2{display:none}.um *,.um :after,.um :before{box-sizing:content-box}.um-account-side li a,.um-cover a,.um-field-value a,.um-header a,.um-member-less a,.um-member-more a,.um-member-name a,.um-member-photo a,.um-members a,.um-members-pagi a,.um-members-pagi span{border-bottom:0!important}.um a:focus,.um-modal a:focus{outline:0!important}.um a .image-overlay,.um a:hover .image-overlay,.um a:hover .image-overlay *{display:none!important;width:0!important;height:0!important;position:static!important}.um.um-in-admin{padding-top:0}.um.um-in-admin .um-tip{display:none!important}.um input,.um select,.um textarea{font-size:15px}.um *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-left{float:left}.um-right{float:right}.um-clear{clear:both}.um-center{text-align:center}.um-center .um-button{display:inline-block!important;width:auto!important;min-width:250px!important}.um-half{width:48%}.um-field-half{width:48%;float:left}.um-field-half.right{float:right}.um-field-tri{width:30%;float:left;margin-right:3%}.um img{box-shadow:none!important}.um-col{padding-bottom:20px}.um-col-alt{margin:0 0 5px}.um-col-alt-s{padding-top:10px}.um-col-alt-b{padding-top:20px}.um-col-121{float:left;width:48%}.um-col-122{float:right;width:48%}.um-col-131{float:left;width:30%}.um-col-132{float:left;width:30%;margin:0 5%}.um-col-133{float:left;width:30%}.um-raty i{font-size:26px}.um-field-half .um-raty i,.um-field-tri .um-raty i{font-size:21px}.um-button i{font-size:22px;width:22px;height:12px!important;display:inline-block;line-height:12px!important;vertical-align:middle!important;position:relative;top:-6px;margin-right:8px}.um-row-heading{padding:5px 0;font-size:16px}.um-row-heading i{font-size:24px;height:24px;line-height:24px;margin:0 12px 0 0;display:inline-block;width:30px;text-align:center}.um-row-heading i:before{vertical-align:middle!important}p.um-notice{width:auto;color:#fff;box-sizing:border-box;font-size:15px;padding:12px!important;margin:12px 0 0!important;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative}p.um-notice i{position:absolute;right:14px;font-size:36px;cursor:pointer;top:7px;display:block;height:30px;line-height:30px}p.um-notice.success{background:#7ACF58}p.um-notice.err{background:#C74A4A}p.um-notice.warning{background:#f9f9d1;color:#666;border:1px solid #efe4a2;padding:8px 15px!important}.um-field-error{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:20px!important;margin:12px 0 0}.um-field-error a{color:#fff!important;text-decoration:underline!important}.um-field-arrow{top:-17px;left:10px;position:absolute;z-index:900;color:#C74A4A;font-size:28px;line-height:1em!important}.um-error-block{width:auto;max-width:100%;background:#C74A4A;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;color:#fff;box-sizing:border-box;position:relative;padding:12px;font-size:14px;line-height:1em!important;margin:12px 0 0}.um-tip{margin:0 0 0 8px;cursor:pointer;display:inline-block;position:relative;top:3px}.um-tip i{font-size:22px;height:22px;line-height:22px;display:block;position:relative}.um-tip-text{display:block;font-size:13px;line-height:15px;color:#999}.um-form button::-moz-focus-inner,.um-form input::-moz-focus-inner{border:0!important;padding:0!important}.um-field{position:relative;padding:15px 0 0}.um-field-b,.um-field-c{padding-top:0!important}.um-field.um-is-conditional{display:none}.um-field-label{display:block;margin:0 0 8px}.um-field-label .um-field-label-icon{float:left;margin:0 8px 0 0;height:22px;line-height:18px;display:inline-block;width:24px;text-align:center}.um-field-label .um-field-label-icon i{font-size:22px;position:relative;top:1px}.um-field-label label{font-size:15px!important;line-height:22px!important;font-weight:700;font-weight:600}.um-field-area{position:relative;word-wrap:break-word}.um-field-value p{margin:0 0 6px 0!important;padding:0}.um-field-block{color:#777;font-size:17px}.um-field-spacing{width:100%}.um-field-divider{width:100%;margin:0 0 12px;height:24px;position:relative}.um-field-divider-text{position:absolute;width:100%;text-align:center;bottom:-24px;left:0;font-size:16px;padding:10px 0}.um-field-divider-text span{background:#fff;color:#555;display:inline-block;padding:0 15px}.um-field-icon{position:absolute;cursor:default;text-align:center!important;top:2px;left:0;width:44px;font-size:22px;line-height:1.7em}.um-form input[type=password],.um-form input[type=text]{padding:0 12px!important;width:100%;display:block!important;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;cursor:text!important;font-size:15px!important;height:40px!important;box-sizing:border-box!important;box-shadow:none!important;margin:0!important;position:static;outline:0!important}.um-form input[type=password]:focus,.um-form input[type=text]:focus,.um-form textarea:focus{box-shadow:none!important;outline:0!important}.um-form input[type=password].um-iconed,.um-form input[type=text].um-iconed{padding-left:44px!important}.um-form input[type=password].um-error,.um-form input[type=text].um-error{border-color:#C74A4A!important}.um-form textarea{width:100%;padding:8px 12px!important;display:block;font-size:15px!important;line-height:22px!important;background:#fff;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box;min-height:80px!important;box-shadow:none;outline:0!important}.um-field-c .um-field-checkbox{margin:0!important;position:relative;top:-14px}.um-field-checkbox,.um-field-radio{display:block;margin:8px 0;position:relative;cursor:pointer!important}.um-field-checkbox:hover i,.um-field-radio:hover i{color:#666}.um-field-checkbox input,.um-field-radio input{opacity:0!important;display:inline!important;width:0!important;float:left}.um-field-checkbox-state,.um-field-radio-state{position:absolute;top:0;left:1px;width:24px;height:24px}.um-field-checkbox-state i,.um-field-radio-state i{font-size:24px;line-height:24px;height:24px;color:#aaa;transition:all .2s linear}.um-field-checkbox-option,.um-field-radio-option{margin:0px 0px 0px 36px;line-height:24px;color:#888!important;display:block}.um-field-group{margin-top:20px}.um-field-group-head{cursor:pointer;color:#fff;font-size:16px;line-height:22px;padding:10px 20px;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important}.um-field-group-head i{font-size:20px;margin:0 8px 0 0}.um-field-group-head i:before{vertical-align:middle!important}.um-field-group-body{display:none;margin:15px 0 0;padding:15px 20px 5px;background:#f9f9f9;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:relative;box-sizing:border-box;width:100%}.um-field-group-body div.um-field{padding:0 0 15px}.um-field-group-cancel{font-size:18px;position:absolute;z-index:800;right:8px;top:8px;color:#ccc!important;text-decoration:none!important}.um-field-group-cancel:hover{color:#777!important}.um div.disabled,.um-disabled,.um input[type=submit]:disabled,.um input[type=text]:disabled{opacity:.6!important;cursor:no-drop!important}input[type=submit].um-button,input[type=submit].um-button:focus{vertical-align:middle!important;height:auto!important;font-size:15px;cursor:pointer!important;width:100%;box-shadow:none;text-shadow:none;font-family:inherit;outline:0!important;margin:0;opacity:1;-webkit-appearance:none}input[type=submit].um-button:hover{opacity:1}.um-button{font-size:15px;border:none!important;display:block;width:100%;line-height:1em!important;padding:16px 20px!important;text-decoration:none!important;text-align:center;text-transform:none!important;font-weight:400!important;overflow:hidden;position:relative;transition:.25s;box-sizing:border-box;-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important;border-top:1px solid rgba(0,0,0,0)!important;border-bottom:2px solid rgba(0,0,0,.1)!important;opacity:1}.um-button.um-btn-auto-width{width:auto;display:inline-block;padding:14px 20px!important;min-width:200px;max-width:450px}a.um-link-alt{line-height:22px;color:#888!important;display:block!important;text-decoration:none!important;font-weight:400;text-align:center;border-bottom:none!important}a.um-link-alt:hover{text-decoration:underline!important}.um-dropdown{position:absolute;height:auto;background:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;z-index:10;display:none;border:1px solid #e5e5e5;box-sizing:border-box;-webkit-box-shadow:0 0 2px rgba(0,0,0,.1);box-shadow:0 0 1px rgba(0,0,0,.1)}.um-dropdown li,.um-dropdown ul{list-style-type:none!important;padding:0!important;margin:0!important}.um-dropdown li a{display:block;padding:8px 12px;color:#666;font-size:14px;line-height:18px}.um-dropdown li:last-child a{border-top:1px solid #e5e5e5;padding:12px}.um-dropdown-b{position:relative}.um-dropdown-arr{position:absolute;font-size:24px;width:24px;height:24px;overflow:hidden;z-index:15;color:#eee}.um-dropdown-arr *{display:block!important;width:24px!important;height:24px!important;vertical-align:bottom!important;overflow:hidden!important;line-height:24px!important}div.um-photo{margin:20px auto 0;text-align:center;box-sizing:border-box;max-width:100%}div.um-photo,div.um-photo a,div.um-photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.um-photo a{border:1px solid #e5e5e5;padding:5px;box-sizing:border-box;display:inline-block;box-shadow:0 1px 1px #eee;margin:0 auto;max-width:100%}div.um-photo img{max-height:300px;max-width:100%}span.um-req{margin:0 0 0 8px;font-size:14px;display:inline-block}.picker{font-size:16px;text-align:left;line-height:1.2;color:#fff;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.picker__frame,.picker__holder{bottom:0;left:0;right:0;top:100%}.picker__holder{position:fixed;-webkit-transition:background .15s ease-out,top 0s .15s;-moz-transition:background .15s ease-out,top 0s .15s;transition:background .15s ease-out,top 0s .15s}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:400px;width:100%;-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;transition:all .15s ease-out}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}}@media (min-height:40.125em){.picker__frame{margin-bottom:15%!important}}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__wrap{display:block}}.picker__box{display:table-cell;vertical-align:middle}@media (min-height:33.875em){.picker__box{display:block;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}@media (min-height:40.125em){.picker__box{border-bottom-width:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}}.picker--opened .picker__holder{top:0;zoom:1;background:rgba(0,0,0,.7);-webkit-transition:background .15s ease-out;-moz-transition:background .15s ease-out;transition:background .15s ease-out}.picker--opened .picker__frame{top:0;-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}.picker__header{text-align:center;position:relative;margin-top:.75em;border-radius:2px 2px 0 0;padding:15px 0;font-size:18px}.picker__month,.picker__year{display:inline-block;margin-left:10px;margin-right:10px}.picker__select--month,.picker__select--year{margin-left:.25em;margin-right:.25em;font-size:16px;color:#999;background:#fff!important;outline:0!important;border:0!important}@media (min-width:24.5em){.picker__select--month,.picker__select--year{margin-top:-.5em}}.picker__select--month{width:35%}.picker__select--year{width:22.5%}.picker__nav--next,.picker__nav--prev{position:absolute;padding:.5em 1.25em;width:1em;height:1em;box-sizing:content-box!important;top:8px;color:#fff}.picker__nav--prev{left:0;padding-right:1.25em}@media (min-width:24.5em){.picker__nav--prev{padding-right:1.5em}}.picker__nav--next{right:0;padding-left:1.25em}@media (min-width:24.5em){.picker__nav--next{padding-left:1.5em}}.picker__nav--next:before,.picker__nav--prev:before{content:" ";border-top:.5em solid transparent;border-bottom:.5em solid transparent;border-right:.5em solid #fff;width:0;height:0;display:block;margin:0 auto}.picker__nav--next:before{border-right:0;border-left:.5em solid #fff}.picker__nav--next:hover,.picker__nav--prev:hover{cursor:pointer;color:#fff}.picker__nav--disabled,.picker__nav--disabled:before,.picker__nav--disabled:before:hover,.picker__nav--disabled:hover{cursor:default;background:0 0}.picker__table{text-align:center;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:inherit;width:100%;margin-top:5px;border:none;margin-bottom:0}.picker__table td{margin:0;padding:0 10px;text-align:center;border:0}.picker__weekday{width:14.285714286%;color:#fff;text-align:center;padding:5px 0!important}.picker__day{padding:10px 0;line-height:1em!important}.picker__day--today{position:relative}.picker__day--outfocus{opacity:.75}.picker__day--infocus:hover,.picker__day--outfocus:hover{border-radius:2px;cursor:pointer}.picker--focused .picker__day--highlighted,.picker__day--highlighted:hover{border-radius:2px}.picker__day--disabled,.picker__day--disabled:hover{cursor:default;background:transparent!important;opacity:.3}.picker__footer{text-align:center;height:50px!important;line-height:50px!important;margin-top:5px;border-radius:0 0 2px 2px}.picker__button--clear,.picker__button--today{width:50%;display:inline-block;background:none!important;box-shadow:none!important;border:0!important;outline:0!important;box-sizing:border-box!important}.picker__button--clear:focus,.picker__button--clear:hover,.picker__button--today:focus,.picker__button--today:hover{cursor:pointer}.picker__list{list-style:none;list-style:none!important;padding:5px!important;margin:0!important}.picker__list-item{position:relative;border-radius:2px;display:inline-block;width:25%;text-align:center;box-sizing:border-box;padding:6px 0!important;margin:5px 0!important}.picker__list-item:hover{cursor:pointer;z-index:10}.picker__list-item--highlighted{z-index:10}.picker--focused .picker__list-item--highlighted,.picker__list-item--highlighted:hover{cursor:pointer;font-weight:700}.picker--focused .picker__list-item--selected,.picker__list-item--selected,.picker__list-item--selected:hover{z-index:10}.picker--focused .picker__list-item--disabled,.picker__list-item--disabled,.picker__list-item--disabled:hover{color:#a9e792;cursor:default;background:0 0;z-index:auto}.picker--time .picker__button--clear{width:100%;display:inline-block;box-shadow:none!important;border:0!important;outline:0!important;background:none!important;border-radius:0 0 2px 2px;color:#fff!important}.picker--time .picker__button--clear:focus,.picker--time .picker__button--clear:hover{cursor:pointer}.picker--time .picker__frame{min-width:256px;max-width:400px}.picker--time .picker__box{font-size:15px;padding:0;border-radius:2px!important}@media (min-height:40.125em){.picker--time .picker__frame{margin-bottom:10%!important}}.um-members img{display:block;overflow:hidden;-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important;margin:0!important;padding:0!important}.um-members a,.um-members a:hover{text-decoration:none!important}.um-members-intro{text-align:center;margin:0 0 20px}.um-members-total{font-size:30px;font-weight:300}.um-members-none{text-align:center;font-size:18px}.um-search{text-align:center;padding:20px 50px}.um-search.um-search-2{padding-left:20%;padding-right:20%;width:100%;box-sizing:border-box}.um-search.um-search-1{padding-left:32%;padding-right:32%;width:100%;box-sizing:border-box}.um-search.um-search-1 .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 10px!important}.um-search.um-search-1 .um-search-filter{width:100%;padding:0 0 10px;float:none}.um-search.um-search-2 .um-search-filter{width:50%}.um-search-filter{padding:0 15px 30px;display:block;float:left;width:33%;box-sizing:border-box}.um-search-submit .um-button{display:inline-block!important;width:auto!important;padding:12px 20px!important;margin:0 10px!important;min-width:150px!important}.um-members{-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-member{float:left;width:30%;background:#fff;text-align:center;border:1px solid #eee;box-sizing:border-box;margin-bottom:40px;position:relative}.um-member.awaiting_admin_review,.um-member.inactive,.um-member.rejected{opacity:.7}.um-member-status{display:none}.um-member-status.awaiting_admin_review,.um-member-status.inactive,.um-member-status.rejected{display:block;position:absolute;top:0;left:0;width:100%;padding:7px 15px;background:#C74A4A;color:#fff;z-index:10;font-size:13px;box-sizing:border-box}.um-member-status.inactive,.um-member-status.rejected{background:#999}.um-gutter-sizer{width:5%}.um-member-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-member-cover-e{text-align:center;box-sizing:border-box}.um-member-cover-e img{width:100%!important}.um-member-photo{padding:40px 0 20px;text-align:center}.um-member-photo a{display:inline!important}.um-member-photo img{display:inline!important;border:5px solid #fff;background:#fff;width:140px;height:140px;float:none!important}.um-member.with-cover .um-member-photo{padding-top:0}.um-member.with-cover .um-member-photo img{width:90px;height:90px;position:relative;top:-35px;margin-bottom:-45px!important;float:none!important;opacity:1}.um-member-photo.radius-1 img{-moz-border-radius:999px!important;-webkit-border-radius:999px!important;border-radius:999px!important}.um-member-photo.radius-2 img{-moz-border-radius:4px!important;-webkit-border-radius:4px!important;border-radius:4px!important}.um-member-photo.radius-3 img{-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important}.um-member-card.no-photo{padding-top:30px}.um-member-card{padding-bottom:15px}.um-member-name{margin:0 0 4px}.um-member-name a{font-size:16px;line-height:26px;color:#444;font-weight:700}.um-member-tagline{font-size:13px;line-height:22px;color:#999;padding:0 15px}.um-member-less{display:none}.um-member-less a,.um-member-more a{color:#666;display:inline-block}.um-member-less i,.um-member-more i{display:block;font-size:32px;height:32px;line-height:32px}.um-member-meta{display:none;margin:20px 15px 0;padding:15px 0;border-top:1px solid #e5e5e5}.um-member-meta.no-animate{display:block}.um-member-metaline{font-size:13px;padding:12px 0 0;line-height:16px;vertical-align:middle}.um-member-metaline span{display:block;text-align:center}.um-member-connect{padding-top:20px}.um-member-connect a{display:inline-block;width:40px;line-height:40px;height:40px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;color:#fff!important;opacity:.85;margin:0 1px;font-size:22px;transition:.25s}.um-member-connect a:hover{opacity:1;color:#fff}.um-members-pagi,.um-members-pagidrop{text-align:center;padding:5px 0;font-size:15px}.um-members-pagi span.current,.um-members-pagi span.current:hover{color:#fff!important}.um-members-pagi i:before{font-size:20px;vertical-align:middle!important;height:34px;line-height:34px;top:-2px;position:relative}.um-members-pagi span.disabled{opacity:.4;cursor:default}.um-members-pagi span.none{color:#aaa!important}.um-members-pagi span{cursor:default}.um-members-pagi a,.um-members-pagi span{display:inline-block;width:auto;height:34px;line-height:34px;transition:all .2s linear;padding:0 14px;color:#666!important;font-weight:400}.um-members-pagi a:hover{text-decoration:none!important}.um-popup-overlay{background:rgba(0,0,0,0.7);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-popup *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;top:10%;margin-left:-250px;width:500px;background:#fff;box-shadow:0 1px 3px #111;z-index:1999993;box-sizing:border-box;overflow:auto;color:#888;padding:0!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-popup.loading{background:#fff url(../img/loading.gif) no-repeat center;min-height:100px}.um-popup a{outline:none!important}.um-modal-overlay{background:rgba(0,0,0,0.85);width:100%;height:100%;position:fixed;top:0;left:0;z-index:1999992}.um-modal *{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.um-modal-hidden-content{display:none}.um-modal-close{display:block;position:fixed;right:0;top:0;font-size:24px;text-decoration:none!important;color:#fff!important;padding:0 10px}.um-modal{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;position:fixed;left:50%;display:none;z-index:1999993;box-sizing:border-box;bottom:-50px}.um-modal.normal{width:500px;margin-left:-250px}.um-modal.large{width:730px;margin-left:-365px}.um-modal.small{width:400px;margin-left:-200px}.um-modal-body{min-height:3px;padding:20px;box-sizing:border-box;width:100%;background:#fff;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}.um-modal-body.photo{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,0.1),0px 0 0 1px rgba(255,255,255,0.12) inset;background:#888;padding:0}.um-modal-body.photo img{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:block;overflow:hidden;opacity:0}.um-modal.loading .um-modal-body{background:#fff url(../img/loading.gif) no-repeat center;min-height:150px}.um-modal div.um{margin-bottom:20px!important}.um-modal-header{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;height:44px;line-height:44px;color:#fff;padding:0 20px;box-sizing:border-box;font-size:17px}.um-modal-footer{margin-top:20px}.um-modal-left{float:left}.um-modal-right{float:right}.um-modal-btn.disabled,.um-modal-btn.disabled:hover{opacity:.5;cursor:default!important}.um-modal-btn{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;text-align:center;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s;text-decoration:none!important}.um-modal-btn:hover{background:#44b0ec;color:#fff}.um-modal-btn.alt{color:#666;background:#eee}.um-modal-btn.alt:hover{background:#e5e5e5}.um-profile{box-sizing:border-box}.um-profile .um-cover-overlay{display:none}.um-profile.um-editing .um-cover.has-cover .um-cover-overlay{display:block}.um-profile.um-viewing .um-profile-photo-overlay{display:none}.um-profile img{display:block;overflow:hidden;border-radius:0;margin:0!important}.um-profile a,.um-profile a:hover{text-decoration:none!important}.um-profile .um-profile-body{padding-top:15px;padding-bottom:15px;max-width:600px;margin:auto}.um-profile.um-editing{padding-bottom:15px}.um-profile.um-viewing{padding-bottom:1px}.um-profile.um-viewing .um-field-label{display:block;margin:0 0 8px;border-bottom:solid 2px #eee;padding-bottom:4px}.um-cover{background-color:#eee;box-sizing:border-box;position:relative}.um-cover-add{color:#aaa;font-size:36px;width:100%;display:table}.um-cover-add span{display:table-cell;vertical-align:middle}.um-cover-e{text-align:center;box-sizing:border-box}.um-cover-e img{width:100%!important}.um-cover-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0 40px;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-cover-overlay:hover{background:rgba(0,0,0,.55)}.um-cover-overlay span.um-cover-overlay-s{display:table;height:100%;width:100%}.um-cover-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-cover-overlay i{font-size:46px;display:block;margin-bottom:6px}.um-header{position:relative;padding:0 0 25px;border-bottom:solid 2px #eee;min-height:85px;box-sizing:content-box!important}.um-profile-edit{position:absolute;top:15px;right:0;vertical-align:middle;font-size:30px;height:30px;line-height:30px;z-index:66;padding-right:10px}.um-header.no-cover .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important}.um-header.no-cover .um-name{float:none!important;margin-right:0!important}.um-header.no-cover .um-profile-photo{float:none!important;margin:0 auto!important;text-align:center!important}.um-header.no-cover a.um-profile-photo-img{position:relative!important;top:auto!important;left:auto!important;float:none!important;display:inline-block!important;text-align:center!important}.um-header.no-cover .um-main-meta{padding:0}.um-profile .gravatar{position:static}.um-profile-photo{float:left;position:relative}.um-profile-photo a.um-profile-photo-img{float:left;position:absolute;background:#fff;padding:5px;left:30px}.um-profile-photo a.um-profile-photo-img img{width:100%;height:100%}.um-profile-photo-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.5);text-align:center;box-sizing:border-box;padding:0;color:#fff;text-shadow:0 1px #666;cursor:pointer!important;line-height:21px;font-size:16px;height:100%;width:100%}.um-profile-photo-overlay:hover{background:rgba(0,0,0,.55)}.um-profile-photo-overlay span.um-profile-photo-overlay-s{display:table;height:100%;width:100%}.um-profile-photo-overlay ins{display:table-cell;vertical-align:middle;height:100%;text-decoration:none!important;background:none!important;color:#fff!important;border-bottom:none!important}.um-profile-photo-overlay i{font-size:46px;display:block}.um-profile-meta{padding-right:30px;-ms-word-break:break-all;word-break:break-word;word-wrap:break-word}.um-main-meta{padding:10px 0 0}.um-name{float:left;font-size:24px;font-weight:700;margin-right:30px;line-height:1.7em}.um-meta{font-size:15px}.um-meta span a{font-weight:400}.um-meta span:first-child{margin:0 5px 0 0}.um-meta span{margin:0 5px;font-size:14px;display:inline-block}.um-meta span i{font-size:16px;margin:0 5px 0 0}.um-meta-text{margin:6px 0 0;color:#666}.um-meta-text p{margin:0 0 6px 0!important;padding:0!important}.um-profile-status{display:none}.um-profile-status.awaiting_admin_review,.um-profile-status.inactive,.um-profile-status.rejected{display:inline-block;margin:6px 0 0;border-left:3px solid #C74A4A;padding-left:10px;font-size:14px;color:#777}.um-profile-note{display:none;text-align:center;padding-top:20px;color:#666}.um-profile-note i{display:inline-block;font-size:70px;height:70px;line-height:70px}.um-profile-note i.um-faicon-lock{position:relative;top:2px;display:inline-block;font-size:24px;height:auto;line-height:24px;margin-right:10px}.um-profile-note span{margin-top:10px;display:block;font-size:16px;color:#888}.um-profile-note a{border:none!important}.um-profile-note a:hover{text-decoration:underline!important}.um-profile-nav{padding:10px;background:#444;text-align:center}.um-profile-nav-item.active a,.um-profile-nav-item.active a:hover{color:#FFF!important}.um-profile-nav-item.active a span.count{background:0 0;padding:4px 0;color:#fff}.um-profile-nav-item a{color:#fff!important;font-size:14px;font-weight:600;padding:6px 10px 6px 28px;display:block;float:left;border-radius:4px;margin-left:5px;position:relative;border-bottom:0!important}.um-profile-nav-item.without-icon a{padding-left:10px}.um-profile-nav-item.without-icon span.title{padding-left:0}.um-profile-nav-item.without-icon i{display:none}.um-profile-nav-item a:hover{background:#555}.um-profile-nav-item i{font-size:18px;height:18px;line-height:18px;position:absolute;display:block;top:8px;left:10px}.um-profile-nav-item span.title{padding-left:5px}.um-profile-nav-item span.count{font-size:12px;font-weight:300;background:#ddd;color:#666;border-radius:3px;padding:4px 8px;margin-left:3px}.um-profile-subnav{background:#eee;padding:15px;text-align:center}.um-profile-subnav a{display:inline-block;color:#555;font-size:15px;font-weight:600;margin:0 20px;border-bottom:0!important}.um-profile-subnav a:hover{color:#333}.um-profile-subnav span{display:inline-block;margin:0 0 0 8px;background:#ddd;padding:1px 8px;color:#aaa!important;border-radius:2px}.um-item{padding:20px 0;border-bottom:1px solid #eee;position:relative}.um-item-action{position:absolute;right:0;top:16px;width:20px;height:20px;font-size:20px;text-align:center}.um-item-action a{color:#ccc}.um-item-action a:hover{color:#999}.um-item-link{padding-right:40px}.um-item-link a{color:#333;font-size:16px;line-height:20px}.um-item-link a:hover{text-decoration:underline!important}.um-item-link i{font-size:24px;color:#666;margin-right:10px;position:relative;top:3px}.um-item-img{padding:10px 0 0}.um-item-img a{display:inline-block;padding:8px;border-radius:3px;border:1px solid #ddd}.um-item-img a:hover{border-color:#bbb}.um-item-img img{max-width:100%;border-radius:3px}.um-item-meta{color:#888}.um-item-meta span{font-size:13px;font-weight:400;font-style:italic}.um-item-meta span:not(:last-child):after{position:relative;padding:0 4px 0 7px;content:"•"}.um-item-meta a{font-weight:700;border-bottom:1px solid #E0E0E0}.um-item-meta a:hover{border-bottom-color:#bbb}.um-load-items{text-align:center;margin-top:12px;padding-top:30px}.um-load-items.loading{background:url(../img/loading-dots.gif) no-repeat top center}.um-load-items a{max-width:250px;display:inline-block;margin:0 auto}.um-tab-notifier{position:absolute;background:none repeat scroll 0 0 #c65151;right:0;top:0;width:18px;height:18px;border-radius:999px;line-height:18px;top:2px;right:8px;font-size:11px;font-weight:400}@font-face{font-family:raty;font-style:normal;font-weight:400;src:url(../font/raty.eot);src:url(../font/raty.eot?#iefix) format("embedded-opentype");src:url(../font/raty.svg#raty) format("svg");src:url(../font/raty.ttf) format("truetype");src:url(../font/raty.woff) format("woff")}.cancel-off-png,.cancel-on-png,.star-half-png,.star-off-png,.star-on-png{font-family:raty;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-right:.2em;color:#ccc}.star-half-png,.star-on-png{color:#ffbe32}.cancel-on-png:before{content:"\e600"}.cancel-off-png:before{content:"\e601"}.star-on-png:before{content:"\f005"}.star-off-png:before{content:"\f006"}.star-half-png:before{content:"\f123"}.select2-container{margin:0!important;position:relative!important;display:inline-block!important;zoom:1!important;*display:inline!important;vertical-align:middle!important}.select2-container a:hover{color:#666!important}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block!important;height:36px!important;padding:0 0 0 12px!important;overflow:hidden!important;position:relative!important;white-space:nowrap!important;line-height:35px!important;color:#666!important;font-size:15px!important;text-align:left!important;text-decoration:none!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#fff!important}.select2-container.select2-drop-above .select2-choice{-moz-border-radius:0 0 2px 2px!important;-webkit-border-radius:0 0 2px 2px!important;border-radius:0 0 2px 2px!important}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px!important;display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;float:none!important;width:auto!important;font-weight:400}.select2-container .select2-choice abbr{display:none;width:20px!important;height:100%!important;right:24px!important;font-size:1px!important;text-decoration:none!important;border:0!important;background:none!important;cursor:pointer!important;outline:0!important}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block!important}.select2-container .select2-choice abbr:hover{cursor:pointer!important}.select2-drop-mask{border:0!important;margin:0!important;padding:0!important;position:fixed!important;left:0!important;top:0!important;min-height:100%!important;min-width:100%!important;height:auto!important;width:auto!important;opacity:0!important;z-index:1999997!important;background-color:#fff!important;filter:alpha(opacity=0)!important}.select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:1999998!important;top:100%;background:#fff;color:#666;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px;box-shadow:none}.select2-drop.select2-drop-above{margin-top:1px;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0;box-shadow:none}.select2-drop-active{box-shadow:none!important}.select2-drop-auto-width{width:auto!important}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block!important;width:34px!important;height:100%!important;position:absolute!important;right:0!important;top:0!important;-moz-border-radius:0 2px 2px 0!important;-webkit-border-radius:0 2px 2px 0!important;border-radius:0 2px 2px 0!important;text-align:center!important;background:transparent!important;border-left:0!important}.select2-container .select2-choice .select2-arrow *{line-height:100%!important;vertical-align:middle!important}.select2-container .select2-choice .select2-arrow b{display:block!important;width:100%!important;height:100%!important;background:none!important}.select2-container .select2-choice .select2-arrow:before{content:"\f3d0"!important;font-size:27px!important;font-family:Ionicons!important;width:100%!important;display:block;height:100%;line-height:36px}.select2-container .select2-choice .select2-arrow:hover:before{color:#666!important}.select2-search{display:inline-block!important;width:100%!important;min-height:32px!important;height:32px!important;line-height:1em!important;margin:0!important;padding-left:4px!important;padding-right:4px!important;position:relative!important;z-index:1999999!important;white-space:nowrap!important}.select2-search input[type=text]{background:none!important;width:100%!important;height:32px!important;line-height:auto!important;padding:0 38px 0 7px!important;margin:0!important;outline:0!important;border:1px solid #ddd!important;color:#666!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;font-size:15px!important;box-sizing:border-box!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;box-shadow:none!important}.select2-search:before{content:"\f4a4"!important;font-size:20px!important;height:32px!important;line-height:32px!important;font-family:Ionicons!important;top:0!important;right:10px!important;position:absolute!important}.select2-drop .select2-search{margin-top:4px!important}.select2-search input.select2-active{background:#fff!important}.select2-container-active .select2-choice,.select2-container-active .select2-choices{outline:0!important;box-shadow:none!important}.select2-dropdown-open .select2-choice{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent!important;filter:none!important;border-color:transparent!important}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:0 0 0 5px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;font-size:15px;margin:0!important;padding:3px 0!important;color:#666!important}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700!important}.select2-results .select2-result-label{padding:3px 7px 4px!important;margin:0!important;cursor:pointer;min-height:1em!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:none!important;background:#f4f4f4!important;color:#666!important}.select2-results li em{background:#feffde!important;font-style:normal!important}.select2-results .select2-highlighted em{background:transparent!important}.select2-results .select2-highlighted ul{background:#fff!important;color:#666!important}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4!important;display:list-item!important;padding:5px!important;font-size:15px!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.select2-results .select2-disabled .select2-result-label,.select2-results .select2-disabled.select2-highlighted .select2-result-label{color:#bbb!important;background:#fff!important;display:list-item!important;cursor:default!important}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4!important}.select2-more-results{background:#f4f4f4!important;display:list-item!important}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4!important;background-image:none!important;border:1px solid #ddd!important;cursor:default!important}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background:none!important;background:#f9f9f9!important;border-left:0!important}.select2-container.select2-container-disabled .select2-choice abbr{display:none!important}.select2-container-multi .select2-choices{height:auto!important;height:1%!important;margin:0!important;padding:1px 3px!important;position:relative!important;cursor:text!important;overflow:hidden!important;-moz-border-radius:2px!important;-webkit-border-radius:2px!important;border-radius:2px!important;box-shadow:none!important}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px;background-image:none!important}.select2-container-multi.select2-container-active .select2-choices{outline:0;box-shadow:none}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px!important;margin:3px 0!important;font-size:100%;height:auto!important;outline:0;border:0!important;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff!important}.select2-container-multi .select2-choices .select2-search-choice{padding:4px 20px 4px 5px!important;margin:6px 0 4px 5px!important;position:relative;line-height:14px;font-size:14px;color:#666;cursor:default;border:1px solid #ddd;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;box-shadow:none!important;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none!important;background-color:#f9f9f9!important}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin-left:0;margin-right:5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#f1f1f1}.select2-search-choice-close{position:absolute!important;width:18px!important;height:18px!important;right:0!important;top:0!important;left:auto!important;outline:0!important;background:none!important}.select2-search-choice-close:before{content:"\f2d7"!important;font-size:22px!important;font-family:Ionicons!important;right:4px!important;position:relative!important;display:block;height:100%;width:100%;line-height:36px}.select2-search-choice-close:hover:before{color:#666!important}.select2-container-multi .select2-search-choice-close{text-decoration:none!important;width:21px!important;height:100%!important;text-align:center!important;border-bottom:0!important}.select2-container-multi .select2-search-choice-close:before{font-size:16px!important;right:0!important;line-height:23px!important}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}.tipsy{padding:5px;position:absolute;z-index:9999999999!important}.tipsy-inner{font-size:13px!important;line-height:17px!important;background-color:#333!important;color:#fff!important;max-width:250px!important;padding:6px 10px!important;text-align:left!important;word-wrap:break-word!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute!important;width:0!important;height:0!important;line-height:0!important;border:5px dashed #333}.tipsy-arrow-n{border-bottom-color:#333!important}.tipsy-arrow-s{border-top-color:#333!important}.tipsy-arrow-e{border-left-color:#333!important}.tipsy-arrow-w{border-right-color:#333!important}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.um-account p.um-notice{margin:0 0 20px 0!important;padding:12px 15px!important}.um-account a:focus{outline:0!important}.um-account-side{float:left;width:35%;padding:0 30px;box-sizing:border-box}.um-account-main{float:left;width:50%;padding:0 30px;box-sizing:border-box}.um-account-main a{border-bottom:none!important}.um-account-tab{display:none}.um-account-main div.um-account-heading{margin:0!important;font-size:18px;line-height:18px;font-weight:700;color:#555}.um-account-main div.um-account-heading i{margin-right:10px;font-size:26px;position:relative;top:2px}.um-account-main p{margin:20px 0 0!important;padding:0!important}.um-account-main label{font-size:15px}.um-account-meta{text-align:center;margin-bottom:20px}.um-account-meta img{margin:0!important;position:static!important;float:none!important;display:inline-block}.um-account-meta.radius-1 img{-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px}.um-account-meta.radius-2 img{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.um-account-meta.radius-3 img{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-account-name a{font-weight:700;color:#555!important;text-decoration:none!important;font-size:18px;line-height:2em}.um-account-nav a{display:block;height:44px;line-height:44px;color:#666!important;text-decoration:none!important;position:relative;padding-left:40px;border-bottom:1px solid #eee!important;transition:all .2s linear;font-size:14px}.um-account-nav a.current{font-weight:700}.um-account-nav span.arr{position:absolute;right:0;top:1px;font-size:28px}.um-account-nav span.ico{position:absolute;left:0;top:0;font-size:21px;width:21px;text-align:center}.um-account-side li,.um-account-side ul{margin:0!important;padding:0!important;list-style-type:none!important}.um-account-side li{margin-bottom:1px!important;background:#eee}.um-account-side li a{display:block;padding:4px 0;font-size:14px;height:30px;line-height:20px;color:#999;position:relative}.um-account-side li a span.um-account-arrow{position:absolute;right:10px;top:6px;font-size:26px;opacity:0.6}.um-account-side li a span.um-account-icon,.um-account-side li a.current span.um-account-icon,.um-account-side li a.current:hover span.um-account-icon{text-align:center;font-size:20px;width:20px;height:30px;border-right:1px solid #ccc;color:#444;float:left;padding:0 15px;font-weight:400!important}.um-account-side li a span.um-account-icon i{display:block;height:30px;line-height:30px}.um-account-side li a span.um-account-title{padding-left:20px;float:left;height:30px;line-height:30px;color:#555}.um-account-side li a:hover{color:#444;background:#ddd}.um-account-side li a.current,.um-account-side li a.current:hover{color:#444;font-weight:700;text-decoration:none!important}.cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{width:100%;height:100%;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important}.cropper-canvas,.cropper-modal{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-canvas{background-color:#fff;opacity:0;filter:alpha(opacity=0)}.cropper-modal{background-color:#000;opacity:.5;filter:alpha(opacity=50)}.cropper-dragger{position:absolute;top:10%;left:10%;width:80%;height:80%}.cropper-viewer{display:block;width:100%;height:100%;overflow:hidden;outline-width:1px;outline-style:solid;outline-color:#69f;outline-color:rgba(51,102,255,.75)}.cropper-dashed{position:absolute;display:block;border:0 dashed #fff;opacity:.5;filter:alpha(opacity=50)}.cropper-dashed.dashed-h{top:33.3%;left:0;width:100%;height:33.3%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.3%;width:33.3%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;opacity:.1;filter:alpha(opacity=10)}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;opacity:.75;filter:alpha(opacity=75)}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;opacity:1;filter:alpha(opacity=100)}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;opacity:0;filter:alpha(opacity=0)}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;opacity:.75;filter:alpha(opacity=75)}}.cropper-hidden{display:none!important}.cropper-invisible{position:fixed;top:0;left:0;z-index:-1;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;opacity:0;filter:alpha(opacity=0)}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-canvas,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.um .um-single-file-preview,.um .um-single-image-preview{margin-bottom:20px}.um .um-single-image-preview>img{max-height:300px;display:inline-block;overflow:hidden;margin:auto;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.um-single-file-preview,.um-single-image-preview{display:none;text-align:center;position:relative}.um-single-file-preview.show,.um-single-image-preview.show{display:block}.um-single-image-preview>img{max-width:100%;max-height:inherit}.um-single-file-preview a.cancel,.um-single-image-preview a.cancel{position:absolute;top:-15px;right:-15px;width:30px;height:30px;-moz-border-radius:999px;-webkit-border-radius:999px;border-radius:999px;background:#ddd;cursor:pointer;text-decoration:none!important;z-index:666;opacity:.75}.um-single-file-preview a.cancel i,.um-single-image-preview a.cancel i{font-size:16px;color:#888;position:relative;display:block;width:100%;height:100%;line-height:30px;overflow:hidden}.um-single-file-preview a.cancel i:before,.um-single-image-preview a.cancel i:before{line-height:inherit}.um-single-fileinfo{padding:26px 0 20px;display:inline-block}.um-single-fileinfo span.icon{font-size:40px;display:inline-block;width:100px;height:70px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-color:#666;color:#fff!important}.um-single-fileinfo span.icon i{display:block;height:70px;line-height:70px;overflow:hidden}.um-single-fileinfo span.icon i:before{line-height:inherit}.um-single-fileinfo span.filename{display:block;font-size:16px;color:#888;padding-top:5px}.um-single-fileinfo a{text-decoration:none!important;opacity:.9}.um-single-fileinfo a:hover{opacity:1}.upload-statusbar{margin:20px 0 0}.upload-filename{display:none!important}.upload-progress{position:relative;width:100%;box-sizing:border-box}.upload-bar{width:0;height:10px;color:#666;background:#7ACF58;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.ajax-upload-dragdrop{width:100%;text-align:center;vertical-align:middle;padding:20px;box-sizing:border-box;border:2px dashed #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;font-size:18px;line-height:1em}.ajax-upload-dragdrop span.str{display:block;margin:0 0 15px}.ajax-upload-dragdrop span.icon{display:block;font-size:80px;line-height:80px;vertical-align:middle;margin-bottom:10px}.ajax-upload-dragdrop span.help{display:block;font-size:14px;color:#aaa;margin:0 0 12px}.upload{cursor:pointer!important;line-height:34px!important;height:34px;display:inline-block;text-decoration:none;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:0 20px;color:#fff;vertical-align:middle;font-size:14px;box-sizing:border-box;transition:.2s}.upload:hover{background:#44b0ec}.um-modal input[type=file]::-webkit-file-upload-button{cursor:pointer}.uimob340-show,.uimob500-show,.uimob800-show,.uimob960-show{display:none}div.uimob340 .uimob340-show,div.uimob500 .uimob500-show,div.uimob800 .uimob800-show,div.uimob960 .uimob960-show{display:block}div.uimob340 .uimob340-hide,div.uimob500 .uimob500-hide,div.uimob800 .uimob800-hide,div.uimob960 .uimob960-hide{display:none}div.uimob340 .um-item-link a{font-size:14px}div.uimob340 .um-item-meta span{font-size:13px}div.uimob340 .um-load-items a{width:100%!important;max-width:100%!important}div.uimob340 .um-profile-nav{padding:0}div.uimob340 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob340 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto}div.uimob340 .um-profile-subnav{padding:8px 15px}div.uimob340 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob340 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob340 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob340 .um-cover-overlay{padding:0}div.uimob340 .um-cover-overlay i,div.uimob340 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob340{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob340,.um-modal.uimob340 .um-modal-body,.um-modal.uimob340 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob340 .um-modal-header{text-align:center}.um-modal.uimob340 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob340 .um-modal-right{width:100%;float:none}.um-modal.uimob340 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob340 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob340 .um-profile-body{padding-left:0;padding-right:0}div.uimob340 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob340 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob340 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob340 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob340 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob340 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob340 .um-header .um-name{float:none!important;margin-right:0!important;font-size:18px}div.uimob340 .um-header .um-meta,div.uimob340 .um-header .um-meta-text{padding:0 20px}div.uimob340 .um-header .um-meta span:first-child{display:block}div.uimob340 .um-header .um-meta span{display:none}div.uimob340 .um-col-121,div.uimob340 .um-col-122,div.uimob340 .um-col-131,div.uimob340 .um-col-132,div.uimob340 .um-col-133{float:none;width:100%;margin:0}div.uimob340 .um-field-half{float:none;width:100%}div.uimob340 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob340 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob340 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob340 .um-member{width:100%}div.uimob340 .um-gutter-sizer{width:0}div.uimob340 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob340 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob340 .um-account-meta{margin-bottom:0}.uimob340 .um-half{float:none;width:100%;margin:0 0 10px}.uimob340 .um-button.um-btn-auto-width{min-width:auto;max-width:auto;width:100%}.uimob340 .um-col-alt-s{padding-top:0}div.uimob500 .um-profile-nav{padding:0}div.uimob500 .um-profile-nav-item a{padding:10px 16px;margin-left:0;border-radius:0}div.uimob500 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:22px;height:22px;line-height:22px}div.uimob500 .um-profile-subnav{padding:8px 15px}div.uimob500 .um-profile-subnav a{display:block;text-align:left;font-size:13px;margin:0;padding:6px 0}div.uimob500 .um-profile-subnav span{font-size:12px;padding:1px 6px}div.uimob500 .um-cover-overlay span.um-cover-overlay-t{display:none!important}div.uimob500 .um-cover-overlay{padding:0}div.uimob500 .um-cover-overlay i,div.uimob500 .um-profile-photo-overlay i{margin-bottom:0;font-size:30px}.um-modal.uimob500{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.uimob500,.um-modal.uimob500 .um-modal-body,.um-modal.uimob500 .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.uimob500 .um-modal-header{text-align:center}.um-modal.uimob500 .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.uimob500 .um-modal-right{width:100%;float:none}.um-modal.uimob500 .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}.um-modal.uimob500 .ajax-upload-dragdrop span.icon{font-size:40px;line-height:40px}div.uimob500 .um-profile-body{padding-left:0;padding-right:0}div.uimob500 .um-profile-photo{width:100%!important;text-align:center!important;position:absolute;top:-40px;left:0}div.uimob500 .um-header.no-cover .um-profile-photo{position:static;top:auto;left:auto}div.uimob500 .um-profile-photo a.um-profile-photo-img{width:100px!important;height:100px!important;margin:0 auto!important;float:none!important;display:inline-block!important;position:relative!important;top:auto!important;left:auto!important}div.uimob500 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{width:120px!important;height:120px!important}div.uimob500 .um-header .um-profile-meta{padding-left:0!important;padding-right:0!important;text-align:center!important;padding-top:60px!important}div.uimob500 .um-header.no-cover .um-profile-meta{padding-top:0!important}div.uimob500 .um-header .um-name{float:none!important;margin-right:0!important;font-size:21px}div.uimob500 .um-header .um-meta,div.uimob500 .um-header .um-meta-text{padding:0 20px}div.uimob500 .um-header .um-meta span:first-child{display:block}div.uimob500 .um-header .um-meta span{display:none}div.uimob500 .um-col-121,div.uimob500 .um-col-122,div.uimob500 .um-col-131,div.uimob500 .um-col-132,div.uimob500 .um-col-133{float:none;width:100%;margin:0}div.uimob500 .um-field-half{float:none;width:100%}div.uimob500 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob500 .um-search .um-search-filter{width:100%!important;float:none!important;padding:0 0 15px!important}div.uimob500 .um-search .um-search-submit .um-button{display:block!important;min-width:100%!important;margin:0 0 15px!important}div.uimob500 .um-member{width:100%}div.uimob500 .um-gutter-sizer{width:0}div.uimob500 .um-account-main{float:none;width:100%;padding:0;box-sizing:border-box}div.uimob500 .um-account-tab{padding-bottom:20px;border-bottom:1px solid #eee}div.uimob500 .um-account-meta{margin-bottom:0}div.uimob800 .um-profile-nav{padding:0}div.uimob800 .um-profile-nav-item a{padding:10px 20px;margin-left:0;border-radius:0}div.uimob800 .um-profile-nav-item i{display:block;position:static;top:auto;left:auto;font-size:26px;height:26px;line-height:26px}div.uimob800 .um-profile-subnav{padding:8px 15px}div.uimob800 .um-profile-subnav a{display:block;text-align:left;font-size:14px;margin:0;padding:6px 0}div.uimob800 .um-profile-subnav span{font-size:12px;padding:2px 8px}div.uimob800 .um-account-main{width:90%;max-width:450px}div.uimob800 .um-account-side{padding:0;width:10%}div.uimob800 .um-account-side ul{border:1px solid #ddd;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}div.uimob800 .um-account-side li{margin-bottom:0!important;background:0 0}div.uimob800 .um-account-side li a{display:block;padding:0!important;height:44px;line-height:44px;color:#666!important;text-align:center;text-decoration:none!important;background:0 0;transition:all .2s linear}div.uimob800 .um-account-side li:first-child a{-moz-border-radius:3px 3px 0 0;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0}div.uimob800 .um-account-side li:last-child a{-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px}div.uimob800 .um-account-side li a span.um-account-icontip{display:block;float:left;text-align:center;width:100%;height:100%;font-size:22px;line-height:44px}div.uimob800 .um-account-side li a span.um-account-icontip i{position:relative;text-align:center;width:100%}div.uimob800 .um-account-side li a.current,div.uimob800 .um-account-side li a.current:hover{color:#fff!important}div.uimob800 .um-account-meta a{border:1px solid #ddd}div.uimob800 .um-account-meta a,div.uimob800 .um-account-meta img{display:block;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;max-width:100%;height:auto}div.uimob800 .um-profile-photo{width:200px!important}div.uimob800 .um-profile-photo a.um-profile-photo-img{width:140px!important;height:140px!important;top:-70px!important}div.uimob800 .um-header.no-cover .um-profile-photo a.um-profile-photo-img{top:auto!important}div.uimob800 .um-header .um-profile-meta{padding-left:200px}div.uimob800 .um-cover-overlay{padding:0}div.uimob800 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob800 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob800 .um-search .um-search-filter-2{margin-left:4%}div.uimob800 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob800 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob800 .um-member{width:48%}div.uimob800 .um-gutter-sizer{width:4%}div.uimob960 .um-search{padding:20px 0!important;width:100%!important;box-sizing:border-box}div.uimob960 .um-search .um-search-filter{width:48%!important;float:left!important;padding:0 0 15px!important}div.uimob960 .um-search .um-search-filter-2{margin-left:4%}div.uimob960 .um-search .um-search-submit .um-button{display:block!important;width:48%!important;margin:0 0 15px!important;box-sizing:border-box;float:left}div.uimob960 .um-search .um-search-submit .um-button.um-alt{float:right}div.uimob960 .um-member{width:48%}div.uimob960 .um-gutter-sizer{width:4%}@media screen and (max-height:400px){.ajax-upload-dragdrop span.icon{display:none}.um-modal.no-photo{width:100%!important;margin:0!important;left:0!important;height:100%;background:#fff}.um-modal.no-photo,.um-modal.no-photo .um-modal-body,.um-modal.no-photo .um-modal-header{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.um-modal.no-photo .um-modal-header{text-align:center;font-size:14px}.um-modal.no-photo .um-modal-footer{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box;padding:10px;border-top:1px solid #ddd}.um-modal.no-photo .um-modal-right{width:100%;float:none}.um-modal.no-photo .um-modal-footer a.um-modal-btn{width:48%;margin:0 1%;float:left;display:block;line-height:44px!important;height:44px}}@media screen and (max-height:300px){.ajax-upload-dragdrop span.icon,.ajax-upload-dragdrop span.str,.um-modal.no-photo .um-modal-header{display:none}}@media screen and (max-width:600px){.um-popup{width:96%;margin-left:2%;left:0;top:15px}} \ No newline at end of file diff --git a/assets/css/um.rtl.css b/assets/css/um.rtl.css index edab8f86..21d01a68 100644 --- a/assets/css/um.rtl.css +++ b/assets/css/um.rtl.css @@ -67,6 +67,23 @@ div.uimob800 .um-header .um-profile-meta { margin-left: 10px; } +.um-account-side li a span.um-account-icon, +.um-account-side li a.current span.um-account-icon, +.um-account-side li a.current:hover span.um-account-icon { + float: right; + border-left: 1px solid #ccc; +} + +.um-account-side li a span.um-account-title { + padding-right: 20px; + float: right; +} + +.um-account-side li a span.um-account-arrow { + right: auto; + left: 10px; +} + .um-field-label .um-field-label-icon { float: right; margin: 0 0 0 8px; diff --git a/assets/dynamic_css/dynamic_directory.php b/assets/dynamic_css/dynamic_directory.php index 10ae5f86..8ae3c667 100644 --- a/assets/dynamic_css/dynamic_directory.php +++ b/assets/dynamic_css/dynamic_directory.php @@ -1,7 +1,7 @@
    '; + + // delete the tr afterwards + ?> + + parent->args['dev_mode'] ) { + wp_enqueue_style( + 'redux-field-section-css', + ReduxFramework::$_url . 'inc/fields/section/field_section.css', + array(), + time(), + 'all' + ); + } } } - } -} \ No newline at end of file + } \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/elusive-icons.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/elusive-icons.php index e483f44b..a10d6761 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/elusive-icons.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/elusive-icons.php @@ -5,305 +5,305 @@ // Last updated: 14 Sept. 2013 function get_font_icons() { $elusiveIcons = array( - 'el-icon-address-book-alt', - 'el-icon-address-book', - 'el-icon-adjust-alt', - 'el-icon-adjust', - 'el-icon-adult', - 'el-icon-align-center', - 'el-icon-align-justify', - 'el-icon-align-left', - 'el-icon-align-right', - 'el-icon-arrow-down', - 'el-icon-arrow-left', - 'el-icon-arrow-right', - 'el-icon-arrow-up', - 'el-icon-asl', - 'el-icon-asterisk', - 'el-icon-backward', - 'el-icon-ban-circle', - 'el-icon-barcode', - 'el-icon-behance', - 'el-icon-bell', - 'el-icon-blind', - 'el-icon-blogger', - 'el-icon-bold', - 'el-icon-book', - 'el-icon-bookmark-empty', - 'el-icon-bookmark', - 'el-icon-braille', - 'el-icon-briefcase', - 'el-icon-broom', - 'el-icon-brush', - 'el-icon-bulb', - 'el-icon-bullhorn', - 'el-icon-calendar-sign', - 'el-icon-calendar', - 'el-icon-camera', - 'el-icon-car', - 'el-icon-caret-down', - 'el-icon-caret-left', - 'el-icon-caret-right', - 'el-icon-caret-up', - 'el-icon-cc', - 'el-icon-certificate', - 'el-icon-check-empty', - 'el-icon-check', - 'el-icon-chevron-down', - 'el-icon-chevron-left', - 'el-icon-chevron-right', - 'el-icon-chevron-up', - 'el-icon-child', - 'el-icon-circle-arrow-down', - 'el-icon-circle-arrow-left', - 'el-icon-circle-arrow-right', - 'el-icon-circle-arrow-up', - 'el-icon-cloud-alt', - 'el-icon-cloud', - 'el-icon-cog-alt', - 'el-icon-cog', - 'el-icon-cogs', - 'el-icon-comment-alt', - 'el-icon-comment', - 'el-icon-compass-alt', - 'el-icon-compass', - 'el-icon-credit-card', - 'el-icon-css', - 'el-icon-dashboard', - 'el-icon-delicious', - 'el-icon-deviantart', - 'el-icon-digg', - 'el-icon-download-alt', - 'el-icon-download', - 'el-icon-dribbble', - 'el-icon-edit', - 'el-icon-eject', - 'el-icon-envelope-alt', - 'el-icon-envelope', - 'el-icon-error-alt', - 'el-icon-error', - 'el-icon-eur', - 'el-icon-exclamation-sign', - 'el-icon-eye-close', - 'el-icon-eye-open', - 'el-icon-facebook', - 'el-icon-facetime-video', - 'el-icon-fast-backward', - 'el-icon-fast-forward', - 'el-icon-female', - 'el-icon-file-alt', - 'el-icon-file-edit-alt', - 'el-icon-file-edit', - 'el-icon-file-new-alt', - 'el-icon-file-new', - 'el-icon-file', - 'el-icon-film', - 'el-icon-filter', - 'el-icon-fire', - 'el-icon-flag-alt', - 'el-icon-flag', - 'el-icon-flickr', - 'el-icon-folder-close', - 'el-icon-folder-open', - 'el-icon-folder-sign', - 'el-icon-folder', - 'el-icon-font', - 'el-icon-fontsize', - 'el-icon-fork', - 'el-icon-forward-alt', - 'el-icon-forward', - 'el-icon-foursquare', - 'el-icon-friendfeed-rect', - 'el-icon-friendfeed', - 'el-icon-fullscreen', - 'el-icon-gbp', - 'el-icon-gift', - 'el-icon-github-text', - 'el-icon-github', - 'el-icon-glass', - 'el-icon-glasses', - 'el-icon-globe-alt', - 'el-icon-globe', - 'el-icon-googleplus', - 'el-icon-graph-alt', - 'el-icon-graph', - 'el-icon-group-alt', - 'el-icon-group', - 'el-icon-guidedog', - 'el-icon-hand-down', - 'el-icon-hand-left', - 'el-icon-hand-right', - 'el-icon-hand-up', - 'el-icon-hdd', - 'el-icon-headphones', - 'el-icon-hearing-impaired', - 'el-icon-heart-alt', - 'el-icon-heart-empty', - 'el-icon-heart', - 'el-icon-home-alt', - 'el-icon-home', - 'el-icon-hourglass', - 'el-icon-idea-alt', - 'el-icon-idea', - 'el-icon-inbox-alt', - 'el-icon-inbox-box', - 'el-icon-inbox', - 'el-icon-indent-left', - 'el-icon-indent-right', - 'el-icon-info-sign', - 'el-icon-instagram', - 'el-icon-iphone-home', - 'el-icon-italic', - 'el-icon-key', - 'el-icon-laptop-alt', - 'el-icon-laptop', - 'el-icon-lastfm', - 'el-icon-leaf', - 'el-icon-lines', - 'el-icon-link', - 'el-icon-linkedin', - 'el-icon-list-alt', - 'el-icon-list', - 'el-icon-livejournal', - 'el-icon-lock-alt', - 'el-icon-lock', - 'el-icon-magic', - 'el-icon-magnet', - 'el-icon-male', - 'el-icon-map-marker-alt', - 'el-icon-map-marker', - 'el-icon-mic-alt', - 'el-icon-mic', - 'el-icon-minus-sign', - 'el-icon-minus', - 'el-icon-move', - 'el-icon-music', - 'el-icon-myspace', - 'el-icon-network', - 'el-icon-off', - 'el-icon-ok-circle', - 'el-icon-ok-sign', - 'el-icon-ok', - 'el-icon-opensource', - 'el-icon-paper-clip-alt', - 'el-icon-paper-clip', - 'el-icon-path', - 'el-icon-pause-alt', - 'el-icon-pause', - 'el-icon-pencil-alt', - 'el-icon-pencil', - 'el-icon-person', - 'el-icon-phone-alt', - 'el-icon-phone', - 'el-icon-photo-alt', - 'el-icon-photo', - 'el-icon-picasa', - 'el-icon-picture', - 'el-icon-pinterest', - 'el-icon-plane', - 'el-icon-play-alt', - 'el-icon-play-circle', - 'el-icon-play', - 'el-icon-plus-sign', - 'el-icon-plus', - 'el-icon-podcast', - 'el-icon-print', - 'el-icon-puzzle', - 'el-icon-qrcode', - 'el-icon-question-sign', - 'el-icon-question', - 'el-icon-quotes-alt', - 'el-icon-quotes', - 'el-icon-random', - 'el-icon-record', - 'el-icon-reddit', - 'el-icon-refresh', - 'el-icon-remove-circle', - 'el-icon-remove-sign', - 'el-icon-remove', - 'el-icon-repeat-alt', - 'el-icon-repeat', - 'el-icon-resize-full', - 'el-icon-resize-horizontal', - 'el-icon-resize-small', - 'el-icon-resize-vertical', - 'el-icon-return-key', - 'el-icon-retweet', - 'el-icon-reverse-alt', - 'el-icon-road', - 'el-icon-rss', - 'el-icon-scissors', - 'el-icon-screen-alt', - 'el-icon-screen', - 'el-icon-screenshot', - 'el-icon-search-alt', - 'el-icon-search', - 'el-icon-share-alt', - 'el-icon-share', - 'el-icon-shopping-cart-sign', - 'el-icon-shopping-cart', - 'el-icon-signal', - 'el-icon-skype', - 'el-icon-slideshare', - 'el-icon-smiley-alt', - 'el-icon-smiley', - 'el-icon-soundcloud', - 'el-icon-speaker', - 'el-icon-spotify', - 'el-icon-stackoverflow', - 'el-icon-star-alt', - 'el-icon-star-empty', - 'el-icon-star', - 'el-icon-step-backward', - 'el-icon-step-forward', - 'el-icon-stop-alt', - 'el-icon-stop', - 'el-icon-stumbleupon', - 'el-icon-tag', - 'el-icon-tags', - 'el-icon-tasks', - 'el-icon-text-height', - 'el-icon-text-width', - 'el-icon-th-large', - 'el-icon-th-list', - 'el-icon-th', - 'el-icon-thumbs-down', - 'el-icon-thumbs-up', - 'el-icon-time-alt', - 'el-icon-time', - 'el-icon-tint', - 'el-icon-torso', - 'el-icon-trash-alt', - 'el-icon-trash', - 'el-icon-tumblr', - 'el-icon-twitter', - 'el-icon-universal-access', - 'el-icon-unlock-alt', - 'el-icon-unlock', - 'el-icon-upload', - 'el-icon-usd', - 'el-icon-user', - 'el-icon-viadeo', - 'el-icon-video-alt', - 'el-icon-video-chat', - 'el-icon-video', - 'el-icon-view-mode', - 'el-icon-vimeo', - 'el-icon-vkontakte', - 'el-icon-volume-down', - 'el-icon-volume-off', - 'el-icon-volume-up', - 'el-icon-w3c', - 'el-icon-warning-sign', - 'el-icon-website-alt', - 'el-icon-website', - 'el-icon-wheelchair', - 'el-icon-wordpress', - 'el-icon-wrench-alt', - 'el-icon-wrench', - 'el-icon-youtube', - 'el-icon-zoom-in', - 'el-icon-zoom-out' + 'el el-address-book-alt', + 'el el-address-book', + 'el el-adjust-alt', + 'el el-adjust', + 'el el-adult', + 'el el-align-center', + 'el el-align-justify', + 'el el-align-left', + 'el el-align-right', + 'el el-arrow-down', + 'el el-arrow-left', + 'el el-arrow-right', + 'el el-arrow-up', + 'el el-asl', + 'el el-asterisk', + 'el el-backward', + 'el el-ban-circle', + 'el el-barcode', + 'el el-behance', + 'el el-bell', + 'el el-blind', + 'el el-blogger', + 'el el-bold', + 'el el-book', + 'el el-bookmark-empty', + 'el el-bookmark', + 'el el-braille', + 'el el-briefcase', + 'el el-broom', + 'el el-brush', + 'el el-bulb', + 'el el-bullhorn', + 'el el-calendar-sign', + 'el el-calendar', + 'el el-camera', + 'el el-car', + 'el el-caret-down', + 'el el-caret-left', + 'el el-caret-right', + 'el el-caret-up', + 'el el-cc', + 'el el-certificate', + 'el el-check-empty', + 'el el-check', + 'el el-chevron-down', + 'el el-chevron-left', + 'el el-chevron-right', + 'el el-chevron-up', + 'el el-child', + 'el el-circle-arrow-down', + 'el el-circle-arrow-left', + 'el el-circle-arrow-right', + 'el el-circle-arrow-up', + 'el el-cloud-alt', + 'el el-cloud', + 'el el-cog-alt', + 'el el-cog', + 'el el-cogs', + 'el el-comment-alt', + 'el el-comment', + 'el el-compass-alt', + 'el el-compass', + 'el el-credit-card', + 'el el-css', + 'el el-dashboard', + 'el el-delicious', + 'el el-deviantart', + 'el el-digg', + 'el el-download-alt', + 'el el-download', + 'el el-dribbble', + 'el el-edit', + 'el el-eject', + 'el el-envelope-alt', + 'el el-envelope', + 'el el-error-alt', + 'el el-error', + 'el el-eur', + 'el el-exclamation-sign', + 'el el-eye-close', + 'el el-eye-open', + 'el el-facebook', + 'el el-facetime-video', + 'el el-fast-backward', + 'el el-fast-forward', + 'el el-female', + 'el el-file-alt', + 'el el-file-edit-alt', + 'el el-file-edit', + 'el el-file-new-alt', + 'el el-file-new', + 'el el-file', + 'el el-film', + 'el el-filter', + 'el el-fire', + 'el el-flag-alt', + 'el el-flag', + 'el el-flickr', + 'el el-folder-close', + 'el el-folder-open', + 'el el-folder-sign', + 'el el-folder', + 'el el-font', + 'el el-fontsize', + 'el el-fork', + 'el el-forward-alt', + 'el el-forward', + 'el el-foursquare', + 'el el-friendfeed-rect', + 'el el-friendfeed', + 'el el-fullscreen', + 'el el-gbp', + 'el el-gift', + 'el el-github-text', + 'el el-github', + 'el el-glass', + 'el el-glasses', + 'el el-globe-alt', + 'el el-globe', + 'el el-googleplus', + 'el el-graph-alt', + 'el el-graph', + 'el el-group-alt', + 'el el-group', + 'el el-guidedog', + 'el el-hand-down', + 'el el-hand-left', + 'el el-hand-right', + 'el el-hand-up', + 'el el-hdd', + 'el el-headphones', + 'el el-hearing-impaired', + 'el el-heart-alt', + 'el el-heart-empty', + 'el el-heart', + 'el el-home-alt', + 'el el-home', + 'el el-hourglass', + 'el el-idea-alt', + 'el el-idea', + 'el el-inbox-alt', + 'el el-inbox-box', + 'el el-inbox', + 'el el-indent-left', + 'el el-indent-right', + 'el el-info-sign', + 'el el-instagram', + 'el el-iphone-home', + 'el el-italic', + 'el el-key', + 'el el-laptop-alt', + 'el el-laptop', + 'el el-lastfm', + 'el el-leaf', + 'el el-lines', + 'el el-link', + 'el el-linkedin', + 'el el-list-alt', + 'el el-list', + 'el el-livejournal', + 'el el-lock-alt', + 'el el-lock', + 'el el-magic', + 'el el-magnet', + 'el el-male', + 'el el-map-marker-alt', + 'el el-map-marker', + 'el el-mic-alt', + 'el el-mic', + 'el el-minus-sign', + 'el el-minus', + 'el el-move', + 'el el-music', + 'el el-myspace', + 'el el-network', + 'el el-off', + 'el el-ok-circle', + 'el el-ok-sign', + 'el el-ok', + 'el el-opensource', + 'el el-paper-clip-alt', + 'el el-paper-clip', + 'el el-path', + 'el el-pause-alt', + 'el el-pause', + 'el el-pencil-alt', + 'el el-pencil', + 'el el-person', + 'el el-phone-alt', + 'el el-phone', + 'el el-photo-alt', + 'el el-photo', + 'el el-picasa', + 'el el-picture', + 'el el-pinterest', + 'el el-plane', + 'el el-play-alt', + 'el el-play-circle', + 'el el-play', + 'el el-plus-sign', + 'el el-plus', + 'el el-podcast', + 'el el-print', + 'el el-puzzle', + 'el el-qrcode', + 'el el-question-sign', + 'el el-question', + 'el el-quotes-alt', + 'el el-quotes', + 'el el-random', + 'el el-record', + 'el el-reddit', + 'el el-refresh', + 'el el-remove-circle', + 'el el-remove-sign', + 'el el-remove', + 'el el-repeat-alt', + 'el el-repeat', + 'el el-resize-full', + 'el el-resize-horizontal', + 'el el-resize-small', + 'el el-resize-vertical', + 'el el-return-key', + 'el el-retweet', + 'el el-reverse-alt', + 'el el-road', + 'el el-rss', + 'el el-scissors', + 'el el-screen-alt', + 'el el-screen', + 'el el-screenshot', + 'el el-search-alt', + 'el el-search', + 'el el-share-alt', + 'el el-share', + 'el el-shopping-cart-sign', + 'el el-shopping-cart', + 'el el-signal', + 'el el-skype', + 'el el-slideshare', + 'el el-smiley-alt', + 'el el-smiley', + 'el el-soundcloud', + 'el el-speaker', + 'el el-spotify', + 'el el-stackoverflow', + 'el el-star-alt', + 'el el-star-empty', + 'el el-star', + 'el el-step-backward', + 'el el-step-forward', + 'el el-stop-alt', + 'el el-stop', + 'el el-stumbleupon', + 'el el-tag', + 'el el-tags', + 'el el-tasks', + 'el el-text-height', + 'el el-text-width', + 'el el-th-large', + 'el el-th-list', + 'el el-th', + 'el el-thumbs-down', + 'el el-thumbs-up', + 'el el-time-alt', + 'el el-time', + 'el el-tint', + 'el el-torso', + 'el el-trash-alt', + 'el el-trash', + 'el el-tumblr', + 'el el-twitter', + 'el el-universal-access', + 'el el-unlock-alt', + 'el el-unlock', + 'el el-upload', + 'el el-usd', + 'el el-user', + 'el el-viadeo', + 'el el-video-alt', + 'el el-video-chat', + 'el el-video', + 'el el-view-mode', + 'el el-vimeo', + 'el el-vkontakte', + 'el el-volume-down', + 'el el-volume-off', + 'el el-volume-up', + 'el el-w3c', + 'el el-warning-sign', + 'el el-website-alt', + 'el el-website', + 'el el-wheelchair', + 'el el-wordpress', + 'el el-wrench-alt', + 'el el-wrench', + 'el el-youtube', + 'el el-zoom-in', + 'el el-zoom-out' ); return $elusiveIcons; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/field_select.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/field_select.php index bdbc8e41..5b60cbd9 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/field_select.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/select/field_select.php @@ -142,7 +142,7 @@ if ( ! class_exists( 'ReduxFramework_select' ) ) { $selected = selected( $this->value, $id, false ); } - echo ''; + echo ''; } /** diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.js index 215f6299..14040862 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.js @@ -44,18 +44,19 @@ var DISPLAY_TEXT = 2; var DISPLAY_SELECT = 3; - var mainID = $( this ).data( 'id' ); - var minVal = $( this ).data( 'min' ); - var maxVal = $( this ).data( 'max' ); - var stepVal = $( this ).data( 'step' ); - var handles = $( this ).data( 'handles' ); - var defValOne = $( this ).data( 'default-one' ); - var defValTwo = $( this ).data( 'default-two' ); - var resVal = $( this ).data( 'resolution' ); - var displayValue = parseInt( ($( this ).data( 'display' )) ); - var rtlVal = Boolean( $( this ).data( 'rtl' ) ); - var floatMark = ($( this ).data( 'float-mark' )); - + var mainID = $( this ).data( 'id' ); + var minVal = $( this ).data( 'min' ); + var maxVal = $( this ).data( 'max' ); + var stepVal = $( this ).data( 'step' ); + var handles = $( this ).data( 'handles' ); + var defValOne = $( this ).data( 'default-one' ); + var defValTwo = $( this ).data( 'default-two' ); + var resVal = $( this ).data( 'resolution' ); + var displayValue = parseInt( ($( this ).data( 'display' )) ); + var rtlVal = Boolean( $( this ).data( 'rtl' ) ); + var floatMark = ($( this ).data( 'float-mark' )); + var forced = Boolean($( this ).data( 'forced' )); + var rtl; if ( rtlVal === true ) { rtl = 'rtl'; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.min.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.min.js index aca94ada..366fbd64 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.min.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.min.js @@ -1 +1 @@ -!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.slider=redux.field_objects.slider||{},a(document).ready(function(){}),redux.field_objects.slider.init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-slider:visible")),a(b).each(function(){var b=a(this),c=b;if(b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),!c.is(":hidden")&&c.hasClass("redux-field-init")){c.removeClass("redux-field-init"),b.find("div.redux-slider-container").each(function(){var c,d,e,f,g,h,i=0,j=1,k=2,l=3,m=a(this).data("id"),n=a(this).data("min"),o=a(this).data("max"),p=a(this).data("step"),q=a(this).data("handles"),r=a(this).data("default-one"),s=a(this).data("default-two"),t=a(this).data("resolution"),u=parseInt(a(this).data("display")),v=Boolean(a(this).data("rtl")),w=a(this).data("float-mark");h=v===!0?"rtl":"ltr";var x,y,z=[n,o],A=[r,s],B=[r];u==k?(e=b.find(".redux-slider-input-one-"+m),f=b.find(".redux-slider-input-two-"+m),x=e,y=f):u==l?(e=b.find(".redux-slider-select-one-"+m),f=b.find(".redux-slider-select-two-"+m),redux.field_objects.slider.loadSelect(e,n,o,t,p),2===q&&redux.field_objects.slider.loadSelect(f,n,o,t,p)):u==j?(e=b.find("#redux-slider-label-one-"+m),f=b.find("#redux-slider-label-two-"+m)):u==i&&(e=b.find(".redux-slider-value-one-"+m),f=b.find(".redux-slider-value-two-"+m));var C,D;if(u==j){var E=[e,"html"],F=[f,"html"];C=[E],D=[E,F]}else C=[e],D=[e,f];2===q?(c=A,d=D,g=!0):(c=B,d=C,g="lower");var G=a(this).noUiSlider({range:z,start:c,handles:q,step:p,connect:g,behaviour:"tap-drag",direction:h,serialization:{resolution:t,to:d,mark:w},slide:function(){if(u==j)if(2===q){var c=G.val();b.find("input.redux-slider-value-one-"+m).attr("value",c[0]),b.find("input.redux-slider-value-two-"+m).attr("value",c[1])}else b.find("input.redux-slider-value-one-"+m).attr("value",G.val());u==l&&(2===q?(b.find(".redux-slider-select-one").select2("val",G.val()[0]),b.find(".redux-slider-select-two").select2("val",G.val()[1])):b.find(".redux-slider-select-one").select2("val",G.val())),redux_change(a(this).parents(".redux-field-container:first").find("input"))}});u===k&&(x.keydown(function(a){var b=G.val(),c=parseInt(b[0]);switch(a.which){case 38:G.val([c+1,null]);break;case 40:G.val([c-1,null]);break;case 13:a.preventDefault()}}),2===q&&y.keydown(function(a){var b=G.val(),c=parseInt(b[1]);switch(a.which){case 38:G.val([null,c+1]);break;case 40:G.val([null,c-1]);break;case 13:a.preventDefault()}}))});var d={width:"resolve",triggerChange:!0,allowClear:!0},e=b.find(".select2_params");if(e.size()>0){var f=e.val();f=JSON.parse(f),d=a.extend({},d,f)}b.find("select.redux-slider-select-one, select.redux-slider-select-two").select2(d)}})},redux.field_objects.slider.isFloat=function(a){return+a===a&&!isFinite(a)||Boolean(a%1)},redux.field_objects.slider.decimalCount=function(a){var b=a.toString().split(".");return b[1].length},redux.field_objects.slider.loadSelect=function(b,c,d,e){for(var f=c;d>=f;f+=e){var g=f;if(redux.field_objects.slider.isFloat(e)){var h=redux.field_objects.slider.decimalCount(e);g=f.toFixed(h)}a(b).append('")}}}(jQuery); \ No newline at end of file +!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.slider=redux.field_objects.slider||{},a(document).ready(function(){}),redux.field_objects.slider.init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-slider:visible")),a(b).each(function(){var b=a(this),c=b;if(b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),!c.is(":hidden")&&c.hasClass("redux-field-init")){c.removeClass("redux-field-init"),b.find("div.redux-slider-container").each(function(){{var c,d,e,f,g,h,i=0,j=1,k=2,l=3,m=a(this).data("id"),n=a(this).data("min"),o=a(this).data("max"),p=a(this).data("step"),q=a(this).data("handles"),r=a(this).data("default-one"),s=a(this).data("default-two"),t=a(this).data("resolution"),u=parseInt(a(this).data("display")),v=Boolean(a(this).data("rtl")),w=a(this).data("float-mark");Boolean(a(this).data("forced"))}h=v===!0?"rtl":"ltr";var x,y,z=[n,o],A=[r,s],B=[r];u==k?(e=b.find(".redux-slider-input-one-"+m),f=b.find(".redux-slider-input-two-"+m),x=e,y=f):u==l?(e=b.find(".redux-slider-select-one-"+m),f=b.find(".redux-slider-select-two-"+m),redux.field_objects.slider.loadSelect(e,n,o,t,p),2===q&&redux.field_objects.slider.loadSelect(f,n,o,t,p)):u==j?(e=b.find("#redux-slider-label-one-"+m),f=b.find("#redux-slider-label-two-"+m)):u==i&&(e=b.find(".redux-slider-value-one-"+m),f=b.find(".redux-slider-value-two-"+m));var C,D;if(u==j){var E=[e,"html"],F=[f,"html"];C=[E],D=[E,F]}else C=[e],D=[e,f];2===q?(c=A,d=D,g=!0):(c=B,d=C,g="lower");var G=a(this).noUiSlider({range:z,start:c,handles:q,step:p,connect:g,behaviour:"tap-drag",direction:h,serialization:{resolution:t,to:d,mark:w},slide:function(){if(u==j)if(2===q){var c=G.val();b.find("input.redux-slider-value-one-"+m).attr("value",c[0]),b.find("input.redux-slider-value-two-"+m).attr("value",c[1])}else b.find("input.redux-slider-value-one-"+m).attr("value",G.val());u==l&&(2===q?(b.find(".redux-slider-select-one").select2("val",G.val()[0]),b.find(".redux-slider-select-two").select2("val",G.val()[1])):b.find(".redux-slider-select-one").select2("val",G.val())),redux_change(a(this).parents(".redux-field-container:first").find("input"))}});u===k&&(x.keydown(function(a){var b=G.val(),c=parseInt(b[0]);switch(a.which){case 38:G.val([c+1,null]);break;case 40:G.val([c-1,null]);break;case 13:a.preventDefault()}}),2===q&&y.keydown(function(a){var b=G.val(),c=parseInt(b[1]);switch(a.which){case 38:G.val([null,c+1]);break;case 40:G.val([null,c-1]);break;case 13:a.preventDefault()}}))});var d={width:"resolve",triggerChange:!0,allowClear:!0},e=b.find(".select2_params");if(e.size()>0){var f=e.val();f=JSON.parse(f),d=a.extend({},d,f)}b.find("select.redux-slider-select-one, select.redux-slider-select-two").select2(d)}})},redux.field_objects.slider.isFloat=function(a){return+a===a&&!isFinite(a)||Boolean(a%1)},redux.field_objects.slider.decimalCount=function(a){var b=a.toString().split(".");return b[1].length},redux.field_objects.slider.loadSelect=function(b,c,d,e){for(var f=c;d>=f;f+=e){var g=f;if(redux.field_objects.slider.isFloat(e)){var h=redux.field_objects.slider.decimalCount(e);g=f.toFixed(h)}a(b).append('")}}}(jQuery); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.php index 5935898c..5b25e490 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/slider/field_slider.php @@ -50,6 +50,7 @@ if ( ! class_exists( 'ReduxFramework_slider' ) ) { 'resolution' => 1, 'display_value' => 'text', 'float_mark' => '.', + 'forced' => true ); $this->field = wp_parse_args( $this->field, $defaults ); @@ -356,6 +357,7 @@ if ( ! class_exists( 'ReduxFramework_slider' ) ) { data-handles="' . $this->field['handles'] . '" data-display="' . $this->field['display_value'] . '" data-rtl="' . is_rtl() . '" + data-forced="' . $this->field['forced'] . '" data-float-mark="' . $this->field['float_mark'] . '" data-resolution="' . $this->field['resolution'] . '" ' . $html . '> '; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.css b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.css index 436de7f7..d7001fa2 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.css +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.css @@ -1 +1 @@ -.redux-container-sortable label{margin-right:10px;width:300px}.redux-container-sortable label.bugger{margin-bottom:0px !important;font-size:12px !important;color:#999999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:364px}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable li{line-height:30px}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0} +.redux-container-sortable i.el{cursor:move}.redux-container-sortable label{margin-right:10px;width:300px}.redux-container-sortable label.bugger{margin-bottom:0px !important;font-size:12px !important;color:#999999}.redux-container-sortable input{margin-right:10px}.redux-container-sortable .checkbox-container{width:364px}.redux-container-sortable .checkbox-container .drag{float:right;margin-left:10px}.redux-container-sortable ul.labeled li{line-height:1.4em !important}.redux-container-sortable li{line-height:30px !important}.redux-container-sortable li.ui-state-highlight{height:30px;width:364px;margin-bottom:13px}.redux-container-sortable li.placeholder{height:30px;margin:10px 0} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.php index 751e8508..93fb7d5e 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.php @@ -27,7 +27,6 @@ if ( ! class_exists( 'ReduxFramework_sortable' ) ) { * @since Redux_Options 2.0.1 */ function render() { - if ( empty( $this->field['mode'] ) ) { $this->field['mode'] = "text"; } @@ -81,11 +80,19 @@ if ( ! class_exists( 'ReduxFramework_sortable' ) ) { unset( $dummytArr ); } - echo '
      '; + $use_labels = false; + $label_class = ''; + if ( $this->field['mode'] != "checkbox" ) { + if ( ( isset( $this->field['label'] ) && $this->field['label'] == true ) ) { + $use_labels = true; + $label_class = ' labeled'; + } + } + + echo '
        '; foreach ( $this->value as $k => $nicename ) { - echo '
      • '; $checked = ""; @@ -103,23 +110,27 @@ if ( ! class_exists( 'ReduxFramework_sortable' ) ) { echo '
        '; } else { $value_display = isset( $this->value[ $k ] ) ? $this->value[ $k ] : ''; + $nicename = $this->field['options'][$k]; } if ($this->field['mode'] != "checkbox") { - echo ''; - echo "
        "; + if ($use_labels) { + echo ''; + echo "
        "; + } } echo ''; - echo ''; - if ( $this->field['mode'] == "checkbox" || ( isset( $this->field['label'] ) && $this->field['label'] == true ) ) { + echo ''; + //if ( ( isset( $this->field['label'] ) && $this->field['label'] == true ) ) { + if ($this->field['mode'] == "checkbox") { if ( $this->field['mode'] != "checkbox" ) { //echo "
        "; //echo ''; } else { - echo ''; + echo ''; } } if ( $this->field['mode'] == "checkbox" ) { diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.scss b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.scss index 0f8d84bf..f266eb0b 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.scss +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sortable/field_sortable.scss @@ -1,4 +1,10 @@ .redux-container-sortable { + i { + &.el { + cursor: move; + } + } + label { margin-right: 10px; width: 300px; @@ -23,9 +29,17 @@ } } + ul { + &.labeled { + li { + line-height: 1.4em!important; + } + } + } + li { - line-height: 30px; - + line-height: 30px!important; + &.ui-state-highlight { height: 30px; width: 364px; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.css b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.css index c9be915e..8c898fa0 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.css +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.css @@ -1 +1 @@ -.redux-container-spacing select,.redux-container-spacing .select_wrapper{width:80px !important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}.redux-container-spacing .dovy{margin:10px}@media screen and (max-width: 782px){.redux-container-spacing .field-spacing-input input{display:inline-block !important;width:70px !important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}} +.redux-container-spacing select,.redux-container-spacing .select_wrapper{width:80px !important;float:left}.redux-container-spacing .field-spacing-input{margin-right:10px;margin-bottom:7px}@media screen and (max-width: 782px){.redux-container-spacing .field-spacing-input input{display:inline-block !important;width:70px !important}.redux-container-spacing .field-spacing-input .add-on{padding:7px 4px;font-size:16px;line-height:1.5}.redux-container-spacing .select_wrapper{margin-top:6px}} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php index 0632a286..1267a29a 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.php @@ -188,7 +188,7 @@ if ( ! class_exists( 'ReduxFramework_spacing' ) ) { echo ''; if ( isset( $this->field['all'] ) && $this->field['all'] == true ) { - echo '
        '; + echo '
        '; } if ( $this->field['top'] === true ) { @@ -212,28 +212,28 @@ if ( ! class_exists( 'ReduxFramework_spacing' ) ) { * Top * */ if ( $this->field['top'] === true ) { - echo '
        '; + echo '
        '; } /** * Right * */ if ( $this->field['right'] === true ) { - echo '
        '; + echo '
        '; } /** * Bottom * */ if ( $this->field['bottom'] === true ) { - echo '
        '; + echo '
        '; } /** * Left * */ if ( $this->field['left'] === true ) { - echo '
        '; + echo '
        '; } } diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.scss b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.scss index 585fb1f7..11b76002 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.scss +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spacing/field_spacing.scss @@ -9,10 +9,6 @@ margin-right: 10px; margin-bottom: 7px; } - - .dovy { - margin: 10px; - } } @media screen and (max-width: 782px) { diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.js index c04838bc..446768f8 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.js @@ -36,8 +36,8 @@ el.find( '.redux_spinner' ).each( function() { //slider init - var spinner = $( this ).find('.spinner-input' ).data(); - spinner.id = $( this ).find('.spinner-input' ).attr('id'); + var spinner = $( this ).find( '.spinner-input' ).data(); + spinner.id = $( this ).find( '.spinner-input' ).attr( 'id' ); el.find( "#" + spinner.id ).spinner( { @@ -61,13 +61,13 @@ neg = true; } - el.find( "#" + spinner.id ).numeric( - { - allowMinus: neg, - min: spinner.min, - max: spinner.max - } - ); + //el.find( "#" + spinner.id ).numeric( + // { + // allowMinus: neg, + // min: spinner.min, + // max: spinner.max + // } + //); } ); @@ -112,6 +112,7 @@ selector.removeClass( 'spinnerInputChange' ); var spinner = selector.data(); + value = parseFloat( value ); if ( value === "" || value === null ) { value = spinner.min; @@ -122,7 +123,6 @@ } else { value = Math.round( value / spinner.step ) * spinner.step; } - selector.val( value ); }; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.min.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.min.js index 3660f39b..2547b42f 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.min.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/spinner/field_spinner.min.js @@ -1 +1 @@ -!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.spinner=redux.field_objects.spinner||{},a(document).ready(function(){}),redux.field_objects.spinner.init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-spinner:visible")),a(b).each(function(){var b=a(this),c=b;b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),c.is(":hidden")||c.hasClass("redux-field-init")&&(c.removeClass("redux-field-init"),b.find(".redux_spinner").each(function(){var c=a(this).find(".spinner-input").data();c.id=a(this).find(".spinner-input").attr("id"),b.find("#"+c.id).spinner({value:parseFloat(c.val,null),min:parseFloat(c.min,null),max:parseFloat(c.max,null),step:parseFloat(c.step,null),range:"min",slide:function(b,d){var e=a("#"+c.id);e.val(d.value),redux_change(e)}});var d=!1;parseInt(c.min,null)<0&&(d=!0),b.find("#"+c.id).numeric({allowMinus:d,min:c.min,max:c.max})}),b.find(".spinner-input").keyup(function(){a(this).addClass("spinnerInputChange")}),b.find(".spinner-input").focus(function(){redux.field_objects.spinner.clean(a(this).val(),a(this))}),b.find(".spinner-input").typeWatch({callback:function(b){redux.field_objects.spinner.clean(b,a(this))},wait:500,highlight:!1,captureLength:1}))})},redux.field_objects.spinner.clean=function(a,b){if(b.hasClass("spinnerInputChange")){b.removeClass("spinnerInputChange");var c=b.data();a=""===a||null===a?c.min:a>=parseInt(c.max)?c.max:a<=parseInt(c.min)?c.min:Math.round(a/c.step)*c.step,b.val(a)}}}(jQuery); \ No newline at end of file +!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.spinner=redux.field_objects.spinner||{},a(document).ready(function(){}),redux.field_objects.spinner.init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-spinner:visible")),a(b).each(function(){var b=a(this),c=b;b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),c.is(":hidden")||c.hasClass("redux-field-init")&&(c.removeClass("redux-field-init"),b.find(".redux_spinner").each(function(){var c=a(this).find(".spinner-input").data();c.id=a(this).find(".spinner-input").attr("id"),b.find("#"+c.id).spinner({value:parseFloat(c.val,null),min:parseFloat(c.min,null),max:parseFloat(c.max,null),step:parseFloat(c.step,null),range:"min",slide:function(b,d){var e=a("#"+c.id);e.val(d.value),redux_change(e)}});var d=!1;parseInt(c.min,null)<0&&(d=!0)}),b.find(".spinner-input").keyup(function(){a(this).addClass("spinnerInputChange")}),b.find(".spinner-input").focus(function(){redux.field_objects.spinner.clean(a(this).val(),a(this))}),b.find(".spinner-input").typeWatch({callback:function(b){redux.field_objects.spinner.clean(b,a(this))},wait:500,highlight:!1,captureLength:1}))})},redux.field_objects.spinner.clean=function(a,b){if(b.hasClass("spinnerInputChange")){b.removeClass("spinnerInputChange");var c=b.data();a=parseFloat(a),a=""===a||null===a?c.min:a>=parseInt(c.max)?c.max:a<=parseInt(c.min)?c.min:Math.round(a/c.step)*c.step,b.val(a)}}}(jQuery); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/switch/field_switch.min.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/switch/field_switch.min.js index ed56c979..7b955170 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/switch/field_switch.min.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/switch/field_switch.min.js @@ -1 +1 @@ -!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects["switch"]=redux.field_objects["switch"]||{},a(document).ready(function(){}),redux.field_objects["switch"].init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-switch:visible")),a(b).each(function(){var b=a(this),c=b;b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),c.is(":hidden")||c.hasClass("redux-field-init")&&(c.removeClass("redux-field-init"),b.find(".cb-enable").click(function(){if(!a(this).hasClass("selected")){var c=a(this).parents(".switch-options");a(".cb-disable",c).removeClass("selected"),a(this).addClass("selected"),a(".checkbox-input",c).val(1),redux_change(a(".checkbox-input",c));var d=a(this),e=".f_"+d.data("id");b.find(e).slideDown("normal","swing")}}),b.find(".cb-disable").click(function(){if(!a(this).hasClass("selected")){var c=a(this).parents(".switch-options");a(".cb-enable",c).removeClass("selected"),a(this).addClass("selected"),a(".checkbox-input",c).val(0),redux_change(a(".checkbox-input",c));var d=a(this),e=".f_"+d.data("id");b.find(e).slideUp("normal","swing")}}),b.find(".cb-enable span, .cb-disable span").find().attr("unselectable","on"))})}}(jQuery); \ No newline at end of file +!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.switch=redux.field_objects.switch||{},a(document).ready(function(){}),redux.field_objects.switch.init=function(b){b||(b=a(document).find(".redux-group-tab:visible").find(".redux-container-switch:visible")),a(b).each(function(){var b=a(this),c=b;b.hasClass("redux-field-container")||(c=b.parents(".redux-field-container:first")),c.is(":hidden")||c.hasClass("redux-field-init")&&(c.removeClass("redux-field-init"),b.find(".cb-enable").click(function(){if(!a(this).hasClass("selected")){var c=a(this).parents(".switch-options");a(".cb-disable",c).removeClass("selected"),a(this).addClass("selected"),a(".checkbox-input",c).val(1),redux_change(a(".checkbox-input",c));var d=a(this),e=".f_"+d.data("id");b.find(e).slideDown("normal","swing")}}),b.find(".cb-disable").click(function(){if(!a(this).hasClass("selected")){var c=a(this).parents(".switch-options");a(".cb-enable",c).removeClass("selected"),a(this).addClass("selected"),a(".checkbox-input",c).val(0),redux_change(a(".checkbox-input",c));var d=a(this),e=".f_"+d.data("id");b.find(e).slideUp("normal","swing")}}),b.find(".cb-enable span, .cb-disable span").find().attr("unselectable","on"))})}}(jQuery); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.css b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.css index d4bb16cf..ae70e73d 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.css +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.css @@ -1,2 +1 @@ -.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.redux-main .redux-typography-container input.wp-picker-default,.redux-main .redux-typography-container .redux-typography-color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0px 14px !important;margin-top:0;margin-bottom:0;margin-left:4px !important;font-size:12px !important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48% !important;min-width:210px !important;max-width:324px !important;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper:nth-child(even){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px !important;display:block;float:left;height:28px !important;line-height:50px !important;padding:0px !important;width:100% !important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0px}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;display:block;position:relative;margin:0 4px 0 5px;margin:0;padding:0;width:23%;width:100%;max-width:23%;min-width:70px;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{display:block;position:relative;font-size:12px !important;text-align:left;color:#999999;margin:4px 0 2px 0 !important;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted lightgray;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0 none;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width: 540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0 !important;margin-right:0 !important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0 !important;margin-right:5px !important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px !important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}} -@media screen and (max-width: 360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}} +.redux-main .redux-typography-container{display:block;position:relative;margin:0;padding:0;width:100%;max-width:660px}.redux-main .redux-typography-container .clearfix{clear:both}.redux-main .redux-typography-container .clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.redux-main .redux-typography-container input.wp-picker-default,.redux-main .redux-typography-container .redux-typography-color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;height:24px;padding:0px 14px !important;margin-top:0;margin-bottom:0;margin-left:4px !important;font-size:12px !important}.redux-main .redux-typography-container .select_wrapper{display:block;position:relative;float:left;clear:none;margin:0 10px 0 0;width:48% !important;min-width:210px !important;max-width:324px !important;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .select_wrapper:nth-child(odd){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper:nth-child(even){margin-right:10px !important}.redux-main .redux-typography-container .select_wrapper.typography-family .select2-container{width:100%}.redux-main .redux-typography-container .select_wrapper .redux-typography{font-size:14px !important;display:block;float:left;height:28px !important;line-height:50px !important;padding:0px !important;width:100% !important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.redux-main .redux-typography-container .wp-picker-container{float:left;clear:left;margin-bottom:12px;padding:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.redux-main .redux-typography-container .input_wrapper{display:block;position:relative;margin:0 4px 0 5px;padding:0;width:23%;max-width:23%;min-width:70px;float:left;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container .input_wrapper.font-size{margin-left:0px}.redux-main .redux-typography-container .input_wrapper input.mini{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:78%;text-align:center;margin:0;height:28px;top:3px;padding:0 2px 0 5px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.redux-main .redux-typography-container .picker-wrapper{display:block;display:block;position:relative;margin:0 4px 0 5px;margin:0;padding:0;width:23%;width:100%;max-width:23%;min-width:70px;min-width:100%;clear:none;height:57px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;vertical-align:baseline}.redux-main .redux-typography-container label{display:block;position:relative;font-size:12px !important;text-align:left;color:#999999;margin:4px 0 2px 0 !important;cursor:default}.redux-main .redux-typography-container .typography-preview{display:none;width:100%;border:1px dotted lightgray;max-width:850px;padding:10px;font-size:10pt;height:auto;margin:5px 0 10px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.redux-main .redux-typography-container .typography-color{border:0 none;margin:0}.redux-main .redux-typography-container ::-webkit-input-placeholder{line-height:19px}@media screen and (max-width: 540px){.redux-main .redux-main .redux-typography-container{max-width:230px;margin:0 auto}.redux-main .redux-main .redux-typography-container .select_wrapper{max-width:210px;min-width:210px;width:210px;margin-left:0 !important;margin-right:0 !important}.redux-main .redux-main .redux-typography-container .input_wrapper{max-width:101px;min-width:101px;width:101px;margin-left:0 !important;margin-right:5px !important}.redux-main .redux-main .redux-typography-container .input_wrapper input.mini{width:73%}.redux-main .redux-main .redux-typography-container .input-append .add-on{width:30%;padding:5px !important}.redux-main .redux-main .redux-main .wp-picker-container .wp-picker-input-wrap{margin-top:7px}}@media screen and (max-width: 360px){.redux-main .redux-typography-container .iris-picker .iris-square{margin-right:3%}} diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.js index 284bf4e4..c3d6280e 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.js @@ -12,9 +12,9 @@ (function( $ ) { "use strict"; - - redux.field_objects = redux.field_objects || {}; - redux.field_objects.typography = redux.field_objects.typography || {}; + + redux.field_objects = redux.field_objects || {}; + redux.field_objects.typography = redux.field_objects.typography || {}; var selVals = []; var isSelecting = false; @@ -41,7 +41,7 @@ function() { var el = $( this ); var parent = el; - + if ( !el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } @@ -55,7 +55,7 @@ } var fontClear; - + el.each( function() { // init each typography field @@ -64,7 +64,7 @@ var family = $( this ).find( '.redux-typography-family' ); if ( family.data( 'value' ) === undefined ) { - family = $(this); + family = $( this ); } else if ( family.data( 'value' ) !== "" ) { $( family ).val( family.data( 'value' ) ); } @@ -77,7 +77,7 @@ default_params = $.extend( {}, default_params, select2_params ); } - fontClear = Boolean($(this).find('.redux-font-clear').val()); + fontClear = Boolean( $( this ).find( '.redux-font-clear' ).val() ); redux.field_objects.typography.select( family ); @@ -125,7 +125,7 @@ ); // select2 magic, to load font-family dynamically - var data = [ {id: 'none', text: 'none'} ]; + var data = [{id: 'none', text: 'none'}]; $( this ).find( ".redux-typography-family" ).select2( { @@ -143,7 +143,7 @@ }, allowClear: fontClear, // when one clicks on the font-family select box - } + } ).on( "select2-opening", function( e ) { @@ -234,24 +234,24 @@ redux_change( $( this ) ); } - ).on ( - 'select2-clearing', function(val, choice) { + ).on( + 'select2-clearing', function( val, choice ) { var thisID = $( this ).parents( '.redux-container-typography:first' ).attr( 'data-id' ); - + $( '#' + thisID + ' #' + thisID + '-family' ).attr( 'data-value', '' ); $( '#' + thisID + ' #' + thisID + '-family' ).attr( 'placeholder', 'Font Family' ); - - $( '#' + thisID + ' #' + thisID + '-google-font' ).val('false'); - + + $( '#' + thisID + ' #' + thisID + '-google-font' ).val( 'false' ); + redux_change( $( this ) ); } ); - var xx = el.find( ".redux-typography-family"); - if (!xx.hasClass('redux-typography-family')) { - el.find( ".redux-typography-style").select2( default_params ); + var xx = el.find( ".redux-typography-family" ); + if ( !xx.hasClass( 'redux-typography-family' ) ) { + el.find( ".redux-typography-style" ).select2( default_params ); } - + // Init select2 for indicated fields el.find( ".redux-typography-family-backup, .redux-typography-align, .redux-typography-transform, .redux-typography-font-variant, .redux-typography-decoration" ).select2( default_params ); @@ -311,311 +311,322 @@ // Sync up font options - redux.field_objects.typography.select = function(selector) { + redux.field_objects.typography.select = function( selector ) { // Main id for selected field - var mainID = $(selector).parents('.redux-container-typography:first').attr('data-id'); + var mainID = $( selector ).parents( '.redux-container-typography:first' ).attr( 'data-id' ); // Set all the variables to be checked against - var family = $('#' + mainID + ' #' + mainID + '-family').val(); + var family = $( '#' + mainID + ' #' + mainID + '-family' ).val(); - if (!family) { + if ( !family ) { family = null; //"inherit"; } - var familyBackup = $('#' + mainID + ' select.redux-typography-family-backup').val(); - var size = $('#' + mainID + ' .redux-typography-size').val(); - var height = $('#' + mainID + ' .redux-typography-height').val(); - var word = $('#' + mainID + ' .redux-typography-word').val(); - var letter = $('#' + mainID + ' .redux-typography-letter').val(); - var align = $('#' + mainID + ' select.redux-typography-align').val(); - var transform = $('#' + mainID + ' select.redux-typography-transform').val(); - var fontVariant = $('#' + mainID + ' select.redux-typography-font-variant').val(); - var decoration = $('#' + mainID + ' select.redux-typography-decoration').val(); - var style = $('#' + mainID + ' select.redux-typography-style').val(); - var script = $('#' + mainID + ' select.redux-typography-subsets').val(); - var color = $('#' + mainID + ' .redux-typography-color').val(); - var units = $('#' + mainID).data('units'); + var familyBackup = $( '#' + mainID + ' select.redux-typography-family-backup' ).val(); + var size = $( '#' + mainID + ' .redux-typography-size' ).val(); + var height = $( '#' + mainID + ' .redux-typography-height' ).val(); + var word = $( '#' + mainID + ' .redux-typography-word' ).val(); + var letter = $( '#' + mainID + ' .redux-typography-letter' ).val(); + var align = $( '#' + mainID + ' select.redux-typography-align' ).val(); + var transform = $( '#' + mainID + ' select.redux-typography-transform' ).val(); + var fontVariant = $( '#' + mainID + ' select.redux-typography-font-variant' ).val(); + var decoration = $( '#' + mainID + ' select.redux-typography-decoration' ).val(); + var style = $( '#' + mainID + ' select.redux-typography-style' ).val(); + var script = $( '#' + mainID + ' select.redux-typography-subsets' ).val(); + var color = $( '#' + mainID + ' .redux-typography-color' ).val(); + var units = $( '#' + mainID ).data( 'units' ); //var output = family; // Is selected font a google font? var google; - if (isSelecting === true) { - google = redux.field_objects.typography.makeBool(selVals.object['data-google']); - $('#' + mainID + ' .redux-typography-google-font').val(google); + if ( isSelecting === true ) { + google = redux.field_objects.typography.makeBool( selVals.object['data-google'] ); + $( '#' + mainID + ' .redux-typography-google-font' ).val( google ); } else { - google = redux.field_objects.typography.makeBool($('#' + mainID + ' .redux-typography-google-font').val()); // Check if font is a google font + google = redux.field_objects.typography.makeBool( $( '#' + mainID + ' .redux-typography-google-font' ).val() ); // Check if font is a google font } // Page load. Speeds things up memory wise to offload to client - if (!$('#' + mainID).hasClass('typography-initialized')) { - style = $('#' + mainID + ' select.redux-typography-style').data('value'); - script = $('#' + mainID + ' select.redux-typography-subsets').data('value'); + if ( !$( '#' + mainID ).hasClass( 'typography-initialized' ) ) { + style = $( '#' + mainID + ' select.redux-typography-style' ).data( 'value' ); + script = $( '#' + mainID + ' select.redux-typography-subsets' ).data( 'value' ); - if (style !== "") { - style = String(style); + if ( style !== "" ) { + style = String( style ); } - if (typeof (script) !== undefined) { - script = String(script); + if ( typeof (script) !== undefined ) { + script = String( script ); } } // Something went wrong trying to read google fonts, so turn google off - if (redux.fonts.google === undefined) { + if ( redux.fonts.google === undefined ) { google = false; } // Get font details var details = ''; - if (google === true && ( family in redux.fonts.google)) { + if ( google === true && ( family in redux.fonts.google) ) { details = redux.fonts.google[family]; } else { details = { - '400': 'Normal 400', - '700': 'Bold 700', - '400italic': 'Normal 400 Italic', - '700italic': 'Bold 700 Italic' + '400': 'Normal 400', + '700': 'Bold 700', + '400italic': 'Normal 400 Italic', + '700italic': 'Bold 700 Italic' }; } - if ($(selector).hasClass('redux-typography-subsets')){ - $('#' + mainID + ' input.typography-subsets').val(script); + if ( $( selector ).hasClass( 'redux-typography-subsets' ) ) { + $( '#' + mainID + ' input.typography-subsets' ).val( script ); } // If we changed the font - if ($(selector).hasClass('redux-typography-family')) { + if ( $( selector ).hasClass( 'redux-typography-family' ) ) { var html = ''; // Google specific stuff - if (google === true) { + if ( google === true ) { // STYLES var selected = ""; - $.each(details.variants, function(index, variant) { - if (variant.id === style || redux.field_objects.typography.size(details.variants) === 1) { - selected = ' selected="selected"'; - style = variant.id; - } else { - selected = ""; - } + $.each( + details.variants, function( index, variant ) { + if ( variant.id === style || redux.field_objects.typography.size( details.variants ) === 1 ) { + selected = ' selected="selected"'; + style = variant.id; + } else { + selected = ""; + } - html += ''; - }); + html += ''; + } + ); // destroy select2 - $('#' + mainID + ' .redux-typography-style').select2("destroy"); + $( '#' + mainID + ' .redux-typography-style' ).select2( "destroy" ); // Instert new HTML - $('#' + mainID + ' .redux-typography-style').html(html); + $( '#' + mainID + ' .redux-typography-style' ).html( html ); // Init select2 - $('#' + mainID + ' .redux-typography-style').select2(default_params); + $( '#' + mainID + ' .redux-typography-style' ).select2( default_params ); // SUBSETS selected = ""; html = ''; - $.each(details.subsets, function(index, subset) { - if (subset.id === script || redux.field_objects.typography.size(details.subsets) === 1) { - selected = ' selected="selected"'; - script = subset.id; - $('#' + mainID + ' input.typography-subsets').val(script); - } else { - selected = ""; + $.each( + details.subsets, function( index, subset ) { + if ( subset.id === script || redux.field_objects.typography.size( details.subsets ) === 1 ) { + selected = ' selected="selected"'; + script = subset.id; + $( '#' + mainID + ' input.typography-subsets' ).val( script ); + } else { + selected = ""; + } + html += ''; } + ); - html += ''; - }); - //if (typeof (familyBackup) !== "undefined" && familyBackup !== "") { // output += ', ' + familyBackup; //} // Destroy select2 - $('#' + mainID + ' .redux-typography-subsets').select2("destroy"); + $( '#' + mainID + ' .redux-typography-subsets' ).select2( "destroy" ); // Inset new HTML - $('#' + mainID + ' .redux-typography-subsets').html(html); + $( '#' + mainID + ' .redux-typography-subsets' ).html( html ); // Init select2 - $('#' + mainID + ' .redux-typography-subsets').select2(default_params); + $( '#' + mainID + ' .redux-typography-subsets' ).select2( default_params ); - $('#' + mainID + ' .redux-typography-subsets').parent().fadeIn('fast'); - $('#' + mainID + ' .typography-family-backup').fadeIn('fast'); + $( '#' + mainID + ' .redux-typography-subsets' ).parent().fadeIn( 'fast' ); + $( '#' + mainID + ' .typography-family-backup' ).fadeIn( 'fast' ); } else { - if (details) { - $.each(details, function(index, value) { - if (index === style || index === "normal") { - selected = ' selected="selected"'; - $('#' + mainID + ' .typography-style .select2-chosen').text(value); - } else { - selected = ""; - } + if ( details ) { + $.each( + details, function( index, value ) { + if ( index === style || index === "normal" ) { + selected = ' selected="selected"'; + $( '#' + mainID + ' .typography-style .select2-chosen' ).text( value ); + } else { + selected = ""; + } - html += ''; - }); + html += ''; + } + ); // Destory select2 - $('#' + mainID + ' .redux-typography-style').select2("destroy"); + $( '#' + mainID + ' .redux-typography-style' ).select2( "destroy" ); // Insert new HTML - $('#' + mainID + ' .redux-typography-style').html(html); + $( '#' + mainID + ' .redux-typography-style' ).html( html ); // Init select2 - $('#' + mainID + ' .redux-typography-style').select2(default_params); + $( '#' + mainID + ' .redux-typography-style' ).select2( default_params ); // Prettify things - $('#' + mainID + ' .redux-typography-subsets').parent().fadeOut('fast'); - $('#' + mainID + ' .typography-family-backup').fadeOut('fast'); + $( '#' + mainID + ' .redux-typography-subsets' ).parent().fadeOut( 'fast' ); + $( '#' + mainID + ' .typography-family-backup' ).fadeOut( 'fast' ); } } - $('#' + mainID + ' .redux-typography-font-family').val(family); - } else if ($(selector).hasClass('redux-typography-family-backup') && familyBackup !== "") { - $('#' + mainID + ' .redux-typography-font-family-backup').val(familyBackup); + $( '#' + mainID + ' .redux-typography-font-family' ).val( family ); + } else if ( $( selector ).hasClass( 'redux-typography-family-backup' ) && familyBackup !== "" ) { + $( '#' + mainID + ' .redux-typography-font-family-backup' ).val( familyBackup ); } // Check if the selected value exists. If not, empty it. Else, apply it. - if ($('#' + mainID + " select.redux-typography-style option[value='" + style + "']").length === 0) { + if ( $( '#' + mainID + " select.redux-typography-style option[value='" + style + "']" ).length === 0 ) { style = ""; - $('#' + mainID + ' select.redux-typography-style').select2('val', ''); - } else if (style === "400") { - $('#' + mainID + ' select.redux-typography-style').select2('val', style); + $( '#' + mainID + ' select.redux-typography-style' ).select2( 'val', '' ); + } else if ( style === "400" ) { + $( '#' + mainID + ' select.redux-typography-style' ).select2( 'val', style ); } // Handle empty subset select - if ($('#' + mainID + " select.redux-typography-subsets option[value='" + script + "']").length === 0) { + if ( $( '#' + mainID + " select.redux-typography-subsets option[value='" + script + "']" ).length === 0 ) { script = ""; - $('#' + mainID + ' select.redux-typography-subsets').select2('val', ''); - $('#' + mainID + ' input.typography-subsets').val(script); + $( '#' + mainID + ' select.redux-typography-subsets' ).select2( 'val', '' ); + $( '#' + mainID + ' input.typography-subsets' ).val( script ); } var _linkclass = 'style_link_' + mainID; //remove other elements crested in - $('.' + _linkclass).remove(); - if (family !== null && family !== "inherit" && $('#' + mainID).hasClass('typography-initialized')) { + $( '.' + _linkclass ).remove(); + if ( family !== null && family !== "inherit" && $( '#' + mainID ).hasClass( 'typography-initialized' ) ) { //replace spaces with "+" sign - var the_font = family.replace(/\s+/g, '+'); - if (google === true) { + var the_font = family.replace( /\s+/g, '+' ); + if ( google === true ) { //add reference to google font family var link = the_font; - if (style) { - link += ':' + style.replace(/\-/g, " "); + if ( style && style !== "" ) { + link += ':' + style.replace( /\-/g, " " ); } - if (script) { + if ( script && script !== "" ) { link += '&subset=' + script; } - if (typeof (WebFont) !== "undefined" && WebFont) { - WebFont.load({google: {families: [link]}}); + if ( typeof (WebFont) !== "undefined" && WebFont ) { + WebFont.load( {google: {families: [link]}} ); } - $('#' + mainID + ' .redux-typography-google').val(true); + $( '#' + mainID + ' .redux-typography-google' ).val( true ); } else { - $('#' + mainID + ' .redux-typography-google').val(false); + $( '#' + mainID + ' .redux-typography-google' ).val( false ); } } // Weight and italic - if (style.indexOf("italic") !== -1) { - $('#' + mainID + ' .typography-preview').css('font-style', 'italic'); - $('#' + mainID + ' .typography-font-style').val('italic'); - style = style.replace('italic', ''); + if ( style.indexOf( "italic" ) !== -1 ) { + $( '#' + mainID + ' .typography-preview' ).css( 'font-style', 'italic' ); + $( '#' + mainID + ' .typography-font-style' ).val( 'italic' ); + style = style.replace( 'italic', '' ); } else { - $('#' + mainID + ' .typography-preview').css('font-style', "normal"); - $('#' + mainID + ' .typography-font-style').val(''); + $( '#' + mainID + ' .typography-preview' ).css( 'font-style', "normal" ); + $( '#' + mainID + ' .typography-font-style' ).val( '' ); } - $('#' + mainID + ' .typography-font-weight').val(style); + $( '#' + mainID + ' .typography-font-weight' ).val( style ); - if (!height) { + if ( !height ) { height = size; } - if (size === '') { - $('#' + mainID + ' .typography-font-size').val(''); + if ( size === '' ) { + $( '#' + mainID + ' .typography-font-size' ).val( '' ); } else { - $('#' + mainID + ' .typography-font-size').val(size + units); + $( '#' + mainID + ' .typography-font-size' ).val( size + units ); } - if (height === '') { - $('#' + mainID + ' .typography-line-height').val(''); + if ( height === '' ) { + $( '#' + mainID + ' .typography-line-height' ).val( '' ); } else { - $('#' + mainID + ' .typography-line-height').val(height + units); + $( '#' + mainID + ' .typography-line-height' ).val( height + units ); } - if (word === '') { - $('#' + mainID + ' .typography-word-spacing').val(''); + if ( word === '' ) { + $( '#' + mainID + ' .typography-word-spacing' ).val( '' ); } else { - $('#' + mainID + ' .typography-word-spacing').val(word + units); + $( '#' + mainID + ' .typography-word-spacing' ).val( word + units ); } - - if (letter === ''){ - $('#' + mainID + ' .typography-letter-spacing').val(''); + + if ( letter === '' ) { + $( '#' + mainID + ' .typography-letter-spacing' ).val( '' ); } else { - $('#' + mainID + ' .typography-letter-spacing').val(letter + units); + $( '#' + mainID + ' .typography-letter-spacing' ).val( letter + units ); } // Show more preview stuff - if ($('#' + mainID).hasClass('typography-initialized')) { - var isPreviewSize = $('#' + mainID + ' .typography-preview').data('preview-size'); + if ( $( '#' + mainID ).hasClass( 'typography-initialized' ) ) { + var isPreviewSize = $( '#' + mainID + ' .typography-preview' ).data( 'preview-size' ); - if (isPreviewSize == '0') { - $('#' + mainID + ' .typography-preview').css('font-size', size + units); + if ( isPreviewSize == '0' ) { + $( '#' + mainID + ' .typography-preview' ).css( 'font-size', size + units ); } - $('#' + mainID + ' .typography-preview').css('font-weight', style); + $( '#' + mainID + ' .typography-preview' ).css( 'font-weight', style ); //show in the preview box the font - $('#' + mainID + ' .typography-preview').css('font-family', family + ', sans-serif'); + $( '#' + mainID + ' .typography-preview' ).css( 'font-family', family + ', sans-serif' ); - if (family === 'none' && family === '') { + if ( family === 'none' && family === '' ) { //if selected is not a font remove style "font-family" at preview box - $('#' + mainID + ' .typography-preview').css('font-family', 'inherit'); + $( '#' + mainID + ' .typography-preview' ).css( 'font-family', 'inherit' ); } - $('#' + mainID + ' .typography-preview').css('line-height', height + units); - $('#' + mainID + ' .typography-preview').css('word-spacing', word + units); - $('#' + mainID + ' .typography-preview').css('letter-spacing', letter + units); + $( '#' + mainID + ' .typography-preview' ).css( 'line-height', height + units ); + $( '#' + mainID + ' .typography-preview' ).css( 'word-spacing', word + units ); + $( '#' + mainID + ' .typography-preview' ).css( 'letter-spacing', letter + units ); - if (color) { - $('#' + mainID + ' .typography-preview').css('color', color); - $('#' + mainID + ' .typography-preview').css('background-color', redux.field_objects.typography.contrastColour(color)); + if ( color ) { + $( '#' + mainID + ' .typography-preview' ).css( 'color', color ); + $( '#' + mainID + ' .typography-preview' ).css( + 'background-color', redux.field_objects.typography.contrastColour( color ) + ); } - $('#' + mainID + ' .typography-style .select2-chosen').text($('#' + mainID + ' .redux-typography-style option:selected').text()); - $('#' + mainID + ' .typography-script .select2-chosen').text($('#' + mainID + ' .redux-typography-subsets option:selected').text()); + $( '#' + mainID + ' .typography-style .select2-chosen' ).text( $( '#' + mainID + ' .redux-typography-style option:selected' ).text() ); + $( '#' + mainID + ' .typography-script .select2-chosen' ).text( $( '#' + mainID + ' .redux-typography-subsets option:selected' ).text() ); - if (align) { - $('#' + mainID + ' .typography-preview').css('text-align', align); + if ( align ) { + $( '#' + mainID + ' .typography-preview' ).css( 'text-align', align ); } - if (transform) { - $('#' + mainID + ' .typography-preview').css('text-transform', transform); + if ( transform ) { + $( '#' + mainID + ' .typography-preview' ).css( 'text-transform', transform ); } - if (fontVariant) { - $('#' + mainID + ' .typography-preview').css('font-variant', fontVariant); + if ( fontVariant ) { + $( '#' + mainID + ' .typography-preview' ).css( 'font-variant', fontVariant ); } - if (decoration) { - $('#' + mainID + ' .typography-preview').css('text-decoration', decoration); + if ( decoration ) { + $( '#' + mainID + ' .typography-preview' ).css( 'text-decoration', decoration ); } - $('#' + mainID + ' .typography-preview').slideDown(); + $( '#' + mainID + ' .typography-preview' ).slideDown(); } // end preview stuff // if not preview showing, then set preview to show - if (!$('#' + mainID).hasClass('typography-initialized')) { - $('#' + mainID).addClass('typography-initialized'); + if ( !$( '#' + mainID ).hasClass( 'typography-initialized' ) ) { + $( '#' + mainID ).addClass( 'typography-initialized' ); } isSelecting = false; diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.min.js b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.min.js index 2ae47499..1e475cdb 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.min.js +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.min.js @@ -1 +1 @@ -!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.typography=redux.field_objects.typography||{};var b=[],c=!1,d={width:"resolve",triggerChange:!0,allowClear:!0};a(document).ready(function(){}),redux.field_objects.typography.init=function(e){e||(e=a(document).find(".redux-group-tab:visible").find(".redux-container-typography:visible")),a(e).each(function(){var e=a(this),f=e;if(e.hasClass("redux-field-container")||(f=e.parents(".redux-field-container:first")),!f.is(":hidden")&&f.hasClass("redux-field-init")){f.removeClass("redux-field-init");var g;e.each(function(){a(this).find(".redux-typography-container").each(function(){var b=a(this).find(".redux-typography-family");void 0===b.data("value")?b=a(this):""!==b.data("value")&&a(b).val(b.data("value"));var c=a(this).find(".select2_params");if(c.size()>0){var e=c.val();e=JSON.parse(e),d=a.extend({},d,e)}g=Boolean(a(this).find(".redux-font-clear").val()),redux.field_objects.typography.select(b),window.onbeforeunload=null}),a(this).find(".redux-typography").on("change",function(){redux.field_objects.typography.select(a(this))}),a(this).find(".redux-typography-size, .redux-typography-height, .redux-typography-word, .redux-typography-letter, .redux-typography-align, .redux-typography-transform, .redux-typography-font-variant, .redux-typography-decoration").keyup(function(){redux.field_objects.typography.select(a(this).parents(".redux-container-typography:first"))}),a(this).find(".redux-typography-color").wpColorPicker({change:function(b,c){redux_change(a(this)),a(this).val(c.color.toString()),redux.field_objects.typography.select(a(this))}}),a(this).find(".redux-typography-size").numeric({allowMinus:!1}),a(this).find(".redux-typography-height, .redux-typography-word, .redux-typography-letter").numeric({allowMinus:!0});var f=[{id:"none",text:"none"}];a(this).find(".redux-typography-family").select2({matcher:function(a,b){return 0===b.toUpperCase().indexOf(a.toUpperCase())},query:function(a){return window.Select2.query.local(f)(a)},initSelection:function(a,b){var c={id:a.val(),text:a.val()};b(c)},allowClear:g}).on("select2-opening",function(){var b=a(this).parents(".redux-container-typography:first").attr("data-id"),c=a("#"+b+" .redux-typography-font-family").data("user-fonts");c=c?1:0;var d=a("#"+b+" .redux-typography-google").val();d=d?1:0;var e=[];if(void 0!==redux.customfonts&&e.push(redux.customfonts),void 0!==redux.stdfonts&&0===c&&e.push(redux.stdfonts),1==c){var g=[];for(var h in redux.typography[b]){var i=redux.typography[b].std_font;for(var j in i)i.hasOwnProperty(j)&&g.push({id:j,text:j,"data-google":"false"})}var k={text:"Standard Fonts",children:g};e.push(k)}(1==d||d===!0&&void 0!==redux.googlefonts)&&e.push(redux.googlefonts),f=e;var l=a("#"+b+" #"+b+"-family").attr("placeholder");l||(l=null),a("#"+b+" .redux-typography-family").select2("val",l)}).on("select2-selecting",function(d){var e=d.object.text,f=a(this).parents(".redux-container-typography:first").attr("data-id");a("#"+f+" #"+f+"-family").data("value",e),a("#"+f+" #"+f+"-family").attr("placeholder",e),b=d,c=!0,redux_change(a(this))}).on("select2-clearing",function(){var b=a(this).parents(".redux-container-typography:first").attr("data-id");a("#"+b+" #"+b+"-family").attr("data-value",""),a("#"+b+" #"+b+"-family").attr("placeholder","Font Family"),a("#"+b+" #"+b+"-google-font").val("false"),redux_change(a(this))});var h=e.find(".redux-typography-family");h.hasClass("redux-typography-family")||e.find(".redux-typography-style").select2(d),e.find(".redux-typography-family-backup, .redux-typography-align, .redux-typography-transform, .redux-typography-font-variant, .redux-typography-decoration").select2(d)})}})},redux.field_objects.typography.size=function(a){var b,c=0;for(b in a)a.hasOwnProperty(b)&&c++;return c},redux.field_objects.typography.makeBool=function(a){return"false"==a||"0"==a||a===!1||0===a?!1:"true"==a||"1"==a||a===!0||1==a?!0:void 0},redux.field_objects.typography.contrastColour=function(a){var b="#444444";if(""!==a){a=a.replace("#","");var c=parseInt(a.substr(0,2),16),d=parseInt(a.substr(2,2),16),e=parseInt(a.substr(4,2),16),f=(299*c+587*d+114*e)/1e3;b=f>=128?"#444444":"#ffffff"}return b},redux.field_objects.typography.select=function(e){var f=a(e).parents(".redux-container-typography:first").attr("data-id"),g=a("#"+f+" #"+f+"-family").val();g||(g=null);var h,i=a("#"+f+" select.redux-typography-family-backup").val(),j=a("#"+f+" .redux-typography-size").val(),k=a("#"+f+" .redux-typography-height").val(),l=a("#"+f+" .redux-typography-word").val(),m=a("#"+f+" .redux-typography-letter").val(),n=a("#"+f+" select.redux-typography-align").val(),o=a("#"+f+" select.redux-typography-transform").val(),p=a("#"+f+" select.redux-typography-font-variant").val(),q=a("#"+f+" select.redux-typography-decoration").val(),r=a("#"+f+" select.redux-typography-style").val(),s=a("#"+f+" select.redux-typography-subsets").val(),t=a("#"+f+" .redux-typography-color").val(),u=a("#"+f).data("units");c===!0?(h=redux.field_objects.typography.makeBool(b.object["data-google"]),a("#"+f+" .redux-typography-google-font").val(h)):h=redux.field_objects.typography.makeBool(a("#"+f+" .redux-typography-google-font").val()),a("#"+f).hasClass("typography-initialized")||(r=a("#"+f+" select.redux-typography-style").data("value"),s=a("#"+f+" select.redux-typography-subsets").data("value"),""!==r&&(r=String(r)),void 0!==typeof s&&(s=String(s))),void 0===redux.fonts.google&&(h=!1);var v="";if(v=h===!0&&g in redux.fonts.google?redux.fonts.google[g]:{400:"Normal 400",700:"Bold 700","400italic":"Normal 400 Italic","700italic":"Bold 700 Italic"},a(e).hasClass("redux-typography-subsets")&&a("#"+f+" input.typography-subsets").val(s),a(e).hasClass("redux-typography-family")){var w='';if(h===!0){var x="";a.each(v.variants,function(a,b){b.id===r||1===redux.field_objects.typography.size(v.variants)?(x=' selected="selected"',r=b.id):x="",w+='"}),a("#"+f+" .redux-typography-style").select2("destroy"),a("#"+f+" .redux-typography-style").html(w),a("#"+f+" .redux-typography-style").select2(d),x="",w='',a.each(v.subsets,function(b,c){c.id===s||1===redux.field_objects.typography.size(v.subsets)?(x=' selected="selected"',s=c.id,a("#"+f+" input.typography-subsets").val(s)):x="",w+='"}),a("#"+f+" .redux-typography-subsets").select2("destroy"),a("#"+f+" .redux-typography-subsets").html(w),a("#"+f+" .redux-typography-subsets").select2(d),a("#"+f+" .redux-typography-subsets").parent().fadeIn("fast"),a("#"+f+" .typography-family-backup").fadeIn("fast")}else v&&(a.each(v,function(b,c){b===r||"normal"===b?(x=' selected="selected"',a("#"+f+" .typography-style .select2-chosen").text(c)):x="",w+='"}),a("#"+f+" .redux-typography-style").select2("destroy"),a("#"+f+" .redux-typography-style").html(w),a("#"+f+" .redux-typography-style").select2(d),a("#"+f+" .redux-typography-subsets").parent().fadeOut("fast"),a("#"+f+" .typography-family-backup").fadeOut("fast"));a("#"+f+" .redux-typography-font-family").val(g)}else a(e).hasClass("redux-typography-family-backup")&&""!==i&&a("#"+f+" .redux-typography-font-family-backup").val(i);0===a("#"+f+" select.redux-typography-style option[value='"+r+"']").length?(r="",a("#"+f+" select.redux-typography-style").select2("val","")):"400"===r&&a("#"+f+" select.redux-typography-style").select2("val",r),0===a("#"+f+" select.redux-typography-subsets option[value='"+s+"']").length&&(s="",a("#"+f+" select.redux-typography-subsets").select2("val",""),a("#"+f+" input.typography-subsets").val(s));var y="style_link_"+f;if(a("."+y).remove(),null!==g&&"inherit"!==g&&a("#"+f).hasClass("typography-initialized")){var z=g.replace(/\s+/g,"+");if(h===!0){var A=z;r&&(A+=":"+r.replace(/\-/g," ")),s&&(A+="&subset="+s),"undefined"!=typeof WebFont&&WebFont&&WebFont.load({google:{families:[A]}}),a("#"+f+" .redux-typography-google").val(!0)}else a("#"+f+" .redux-typography-google").val(!1)}if(-1!==r.indexOf("italic")?(a("#"+f+" .typography-preview").css("font-style","italic"),a("#"+f+" .typography-font-style").val("italic"),r=r.replace("italic","")):(a("#"+f+" .typography-preview").css("font-style","normal"),a("#"+f+" .typography-font-style").val("")),a("#"+f+" .typography-font-weight").val(r),k||(k=j),a("#"+f+" .typography-font-size").val(""===j?"":j+u),a("#"+f+" .typography-line-height").val(""===k?"":k+u),a("#"+f+" .typography-word-spacing").val(""===l?"":l+u),a("#"+f+" .typography-letter-spacing").val(""===m?"":m+u),a("#"+f).hasClass("typography-initialized")){var B=a("#"+f+" .typography-preview").data("preview-size");"0"==B&&a("#"+f+" .typography-preview").css("font-size",j+u),a("#"+f+" .typography-preview").css("font-weight",r),a("#"+f+" .typography-preview").css("font-family",g+", sans-serif"),"none"===g&&""===g&&a("#"+f+" .typography-preview").css("font-family","inherit"),a("#"+f+" .typography-preview").css("line-height",k+u),a("#"+f+" .typography-preview").css("word-spacing",l+u),a("#"+f+" .typography-preview").css("letter-spacing",m+u),t&&(a("#"+f+" .typography-preview").css("color",t),a("#"+f+" .typography-preview").css("background-color",redux.field_objects.typography.contrastColour(t))),a("#"+f+" .typography-style .select2-chosen").text(a("#"+f+" .redux-typography-style option:selected").text()),a("#"+f+" .typography-script .select2-chosen").text(a("#"+f+" .redux-typography-subsets option:selected").text()),n&&a("#"+f+" .typography-preview").css("text-align",n),o&&a("#"+f+" .typography-preview").css("text-transform",o),p&&a("#"+f+" .typography-preview").css("font-variant",p),q&&a("#"+f+" .typography-preview").css("text-decoration",q),a("#"+f+" .typography-preview").slideDown()}a("#"+f).hasClass("typography-initialized")||a("#"+f).addClass("typography-initialized"),c=!1}}(jQuery); \ No newline at end of file +!function(a){"use strict";redux.field_objects=redux.field_objects||{},redux.field_objects.typography=redux.field_objects.typography||{};var b=[],c=!1,d={width:"resolve",triggerChange:!0,allowClear:!0};a(document).ready(function(){}),redux.field_objects.typography.init=function(e){e||(e=a(document).find(".redux-group-tab:visible").find(".redux-container-typography:visible")),a(e).each(function(){var e=a(this),f=e;if(e.hasClass("redux-field-container")||(f=e.parents(".redux-field-container:first")),!f.is(":hidden")&&f.hasClass("redux-field-init")){f.removeClass("redux-field-init");var g;e.each(function(){a(this).find(".redux-typography-container").each(function(){var b=a(this).find(".redux-typography-family");void 0===b.data("value")?b=a(this):""!==b.data("value")&&a(b).val(b.data("value"));var c=a(this).find(".select2_params");if(c.size()>0){var e=c.val();e=JSON.parse(e),d=a.extend({},d,e)}g=Boolean(a(this).find(".redux-font-clear").val()),redux.field_objects.typography.select(b),window.onbeforeunload=null}),a(this).find(".redux-typography").on("change",function(){redux.field_objects.typography.select(a(this))}),a(this).find(".redux-typography-size, .redux-typography-height, .redux-typography-word, .redux-typography-letter, .redux-typography-align, .redux-typography-transform, .redux-typography-font-variant, .redux-typography-decoration").keyup(function(){redux.field_objects.typography.select(a(this).parents(".redux-container-typography:first"))}),a(this).find(".redux-typography-color").wpColorPicker({change:function(b,c){redux_change(a(this)),a(this).val(c.color.toString()),redux.field_objects.typography.select(a(this))}}),a(this).find(".redux-typography-size").numeric({allowMinus:!1}),a(this).find(".redux-typography-height, .redux-typography-word, .redux-typography-letter").numeric({allowMinus:!0});var f=[{id:"none",text:"none"}];a(this).find(".redux-typography-family").select2({matcher:function(a,b){return 0===b.toUpperCase().indexOf(a.toUpperCase())},query:function(a){return window.Select2.query.local(f)(a)},initSelection:function(a,b){var c={id:a.val(),text:a.val()};b(c)},allowClear:g}).on("select2-opening",function(){var b=a(this).parents(".redux-container-typography:first").attr("data-id"),c=a("#"+b+" .redux-typography-font-family").data("user-fonts");c=c?1:0;var d=a("#"+b+" .redux-typography-google").val();d=d?1:0;var e=[];if(void 0!==redux.customfonts&&e.push(redux.customfonts),void 0!==redux.stdfonts&&0===c&&e.push(redux.stdfonts),1==c){var g=[];for(var h in redux.typography[b]){var i=redux.typography[b].std_font;for(var j in i)i.hasOwnProperty(j)&&g.push({id:j,text:j,"data-google":"false"})}var k={text:"Standard Fonts",children:g};e.push(k)}(1==d||d===!0&&void 0!==redux.googlefonts)&&e.push(redux.googlefonts),f=e;var l=a("#"+b+" #"+b+"-family").attr("placeholder");l||(l=null),a("#"+b+" .redux-typography-family").select2("val",l)}).on("select2-selecting",function(d){var e=d.object.text,f=a(this).parents(".redux-container-typography:first").attr("data-id");a("#"+f+" #"+f+"-family").data("value",e),a("#"+f+" #"+f+"-family").attr("placeholder",e),b=d,c=!0,redux_change(a(this))}).on("select2-clearing",function(){var b=a(this).parents(".redux-container-typography:first").attr("data-id");a("#"+b+" #"+b+"-family").attr("data-value",""),a("#"+b+" #"+b+"-family").attr("placeholder","Font Family"),a("#"+b+" #"+b+"-google-font").val("false"),redux_change(a(this))});var h=e.find(".redux-typography-family");h.hasClass("redux-typography-family")||e.find(".redux-typography-style").select2(d),e.find(".redux-typography-family-backup, .redux-typography-align, .redux-typography-transform, .redux-typography-font-variant, .redux-typography-decoration").select2(d)})}})},redux.field_objects.typography.size=function(a){var b,c=0;for(b in a)a.hasOwnProperty(b)&&c++;return c},redux.field_objects.typography.makeBool=function(a){return"false"==a||"0"==a||a===!1||0===a?!1:"true"==a||"1"==a||a===!0||1==a?!0:void 0},redux.field_objects.typography.contrastColour=function(a){var b="#444444";if(""!==a){a=a.replace("#","");var c=parseInt(a.substr(0,2),16),d=parseInt(a.substr(2,2),16),e=parseInt(a.substr(4,2),16),f=(299*c+587*d+114*e)/1e3;b=f>=128?"#444444":"#ffffff"}return b},redux.field_objects.typography.select=function(e){var f=a(e).parents(".redux-container-typography:first").attr("data-id"),g=a("#"+f+" #"+f+"-family").val();g||(g=null);var h,i=a("#"+f+" select.redux-typography-family-backup").val(),j=a("#"+f+" .redux-typography-size").val(),k=a("#"+f+" .redux-typography-height").val(),l=a("#"+f+" .redux-typography-word").val(),m=a("#"+f+" .redux-typography-letter").val(),n=a("#"+f+" select.redux-typography-align").val(),o=a("#"+f+" select.redux-typography-transform").val(),p=a("#"+f+" select.redux-typography-font-variant").val(),q=a("#"+f+" select.redux-typography-decoration").val(),r=a("#"+f+" select.redux-typography-style").val(),s=a("#"+f+" select.redux-typography-subsets").val(),t=a("#"+f+" .redux-typography-color").val(),u=a("#"+f).data("units");c===!0?(h=redux.field_objects.typography.makeBool(b.object["data-google"]),a("#"+f+" .redux-typography-google-font").val(h)):h=redux.field_objects.typography.makeBool(a("#"+f+" .redux-typography-google-font").val()),a("#"+f).hasClass("typography-initialized")||(r=a("#"+f+" select.redux-typography-style").data("value"),s=a("#"+f+" select.redux-typography-subsets").data("value"),""!==r&&(r=String(r)),void 0!==typeof s&&(s=String(s))),void 0===redux.fonts.google&&(h=!1);var v="";if(v=h===!0&&g in redux.fonts.google?redux.fonts.google[g]:{400:"Normal 400",700:"Bold 700","400italic":"Normal 400 Italic","700italic":"Bold 700 Italic"},a(e).hasClass("redux-typography-subsets")&&a("#"+f+" input.typography-subsets").val(s),a(e).hasClass("redux-typography-family")){var w='';if(h===!0){var x="";a.each(v.variants,function(a,b){b.id===r||1===redux.field_objects.typography.size(v.variants)?(x=' selected="selected"',r=b.id):x="",w+='"}),a("#"+f+" .redux-typography-style").select2("destroy"),a("#"+f+" .redux-typography-style").html(w),a("#"+f+" .redux-typography-style").select2(d),x="",w='',a.each(v.subsets,function(b,c){c.id===s||1===redux.field_objects.typography.size(v.subsets)?(x=' selected="selected"',s=c.id,a("#"+f+" input.typography-subsets").val(s)):x="",w+='"}),a("#"+f+" .redux-typography-subsets").select2("destroy"),a("#"+f+" .redux-typography-subsets").html(w),a("#"+f+" .redux-typography-subsets").select2(d),a("#"+f+" .redux-typography-subsets").parent().fadeIn("fast"),a("#"+f+" .typography-family-backup").fadeIn("fast")}else v&&(a.each(v,function(b,c){b===r||"normal"===b?(x=' selected="selected"',a("#"+f+" .typography-style .select2-chosen").text(c)):x="",w+='"}),a("#"+f+" .redux-typography-style").select2("destroy"),a("#"+f+" .redux-typography-style").html(w),a("#"+f+" .redux-typography-style").select2(d),a("#"+f+" .redux-typography-subsets").parent().fadeOut("fast"),a("#"+f+" .typography-family-backup").fadeOut("fast"));a("#"+f+" .redux-typography-font-family").val(g)}else a(e).hasClass("redux-typography-family-backup")&&""!==i&&a("#"+f+" .redux-typography-font-family-backup").val(i);0===a("#"+f+" select.redux-typography-style option[value='"+r+"']").length?(r="",a("#"+f+" select.redux-typography-style").select2("val","")):"400"===r&&a("#"+f+" select.redux-typography-style").select2("val",r),0===a("#"+f+" select.redux-typography-subsets option[value='"+s+"']").length&&(s="",a("#"+f+" select.redux-typography-subsets").select2("val",""),a("#"+f+" input.typography-subsets").val(s));var y="style_link_"+f;if(a("."+y).remove(),null!==g&&"inherit"!==g&&a("#"+f).hasClass("typography-initialized")){var z=g.replace(/\s+/g,"+");if(h===!0){var A=z;r&&""!==r&&(A+=":"+r.replace(/\-/g," ")),s&&""!==s&&(A+="&subset="+s),"undefined"!=typeof WebFont&&WebFont&&WebFont.load({google:{families:[A]}}),a("#"+f+" .redux-typography-google").val(!0)}else a("#"+f+" .redux-typography-google").val(!1)}if(-1!==r.indexOf("italic")?(a("#"+f+" .typography-preview").css("font-style","italic"),a("#"+f+" .typography-font-style").val("italic"),r=r.replace("italic","")):(a("#"+f+" .typography-preview").css("font-style","normal"),a("#"+f+" .typography-font-style").val("")),a("#"+f+" .typography-font-weight").val(r),k||(k=j),a("#"+f+" .typography-font-size").val(""===j?"":j+u),a("#"+f+" .typography-line-height").val(""===k?"":k+u),a("#"+f+" .typography-word-spacing").val(""===l?"":l+u),a("#"+f+" .typography-letter-spacing").val(""===m?"":m+u),a("#"+f).hasClass("typography-initialized")){var B=a("#"+f+" .typography-preview").data("preview-size");"0"==B&&a("#"+f+" .typography-preview").css("font-size",j+u),a("#"+f+" .typography-preview").css("font-weight",r),a("#"+f+" .typography-preview").css("font-family",g+", sans-serif"),"none"===g&&""===g&&a("#"+f+" .typography-preview").css("font-family","inherit"),a("#"+f+" .typography-preview").css("line-height",k+u),a("#"+f+" .typography-preview").css("word-spacing",l+u),a("#"+f+" .typography-preview").css("letter-spacing",m+u),t&&(a("#"+f+" .typography-preview").css("color",t),a("#"+f+" .typography-preview").css("background-color",redux.field_objects.typography.contrastColour(t))),a("#"+f+" .typography-style .select2-chosen").text(a("#"+f+" .redux-typography-style option:selected").text()),a("#"+f+" .typography-script .select2-chosen").text(a("#"+f+" .redux-typography-subsets option:selected").text()),n&&a("#"+f+" .typography-preview").css("text-align",n),o&&a("#"+f+" .typography-preview").css("text-transform",o),p&&a("#"+f+" .typography-preview").css("font-variant",p),q&&a("#"+f+" .typography-preview").css("text-decoration",q),a("#"+f+" .typography-preview").slideDown()}a("#"+f).hasClass("typography-initialized")||a("#"+f).addClass("typography-initialized"),c=!1}}(jQuery); \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php index c6bda848..fdbcbddd 100644 --- a/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/fields/typography/field_typography.php @@ -74,6 +74,10 @@ if ( ! class_exists( 'ReduxFramework_typography' ) ) { 'color' => true, 'preview' => true, 'line-height' => true, + 'multi' => array( + 'subset' => false, + 'weight' => false, + ), 'word-spacing' => false, 'letter-spacing' => false, 'google' => true, @@ -273,7 +277,8 @@ if ( ! class_exists( 'ReduxFramework_typography' ) ) { echo ' '; echo ' '; - echo ' '; echo ''; - echo ' + +

        + +

        +
        + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        :[?]'; ?>
        :[?]'; ?>
        :[?]'; ?>
        + : + uploads directory. This directory must be writable.', 'redux-framework' ) . '">[?]'; ?>' . '✔ ' . $sysinfo['redux_data_dir'] . ' '; + } else { + printf( '' . '✕ ' . __( 'To allow data saving, make %s writable.', 'redux-framework' ) . '', $sysinfo['redux_data_dir'] ); + } + ?>
        + : + [?]'; ?>' . $sysinfo['wp_content_url'] . ' '; + ?>
        :[?]'; ?>
        :[?]'; ?>
        :Permalinks.', 'redux-framework' ) . '">[?]'; ?>
        :[?]'; ?>
        :[?]'; ?>
        :[?]'; ?>
        :[?]'; ?>' . sprintf( __( '%s - We recommend setting memory to at least 40MB. See: Increasing memory allocated to PHP', 'redux-framework' ), $sysinfo['wp_mem_limit']['size'], 'http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP' ) . ''; + } else { + echo '' . $sysinfo['wp_mem_limit']['size'] . ''; + } + ?>
        : + [?]'; ?>
        :[?]'; ?>' . '✔' . ''; + } else { + echo '' . '–' . ''; + } ?>
        :[?]'; ?>
        + + + + + + + + + + + + + +
        :[?]'; ?> $value ) { + echo '' . ucfirst( $key ) . ': ' . $value . '
        '; + } + ?> +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [?]'; + + if ( $sysinfo['fsockopen_curl'] == true ) { + $posting['fsockopen_curl']['success'] = true; + } else { + $posting['fsockopen_curl']['success'] = false; + $posting['fsockopen_curl']['note'] = __( 'Your server does not have fsockopen or cURL enabled - cURL is used to communicate with other servers. Please contact your hosting provider.', 'redux-framework' ) . ''; + } + + /* + // SOAP + $posting['soap_client']['name'] = 'SoapClient'; + $posting['soap_client']['help'] = '[?]'; + + if ( $sysinfo['soap_client'] == true ) { + $posting['soap_client']['success'] = true; + } else { + $posting['soap_client']['success'] = false; + $posting['soap_client']['note'] = sprintf( __( 'Your server does not have the SOAP Client class enabled - some gateway plugins which use SOAP may not work as expected.', 'redux-framework' ), 'http://php.net/manual/en/class.soapclient.php' ) . ''; + } + + // DOMDocument + $posting['dom_document']['name'] = 'DOMDocument'; + $posting['dom_document']['help'] = '[?]'; + + if ( $sysinfo['dom_document'] == true ) { + $posting['dom_document']['success'] = true; + } else { + $posting['dom_document']['success'] = false; + $posting['dom_document']['note'] = sprintf( __( 'Your server does not have the DOMDocument class enabled - HTML/Multipart emails, and also some extensions, will not work without DOMDocument.', 'redux-framework' ), 'http://php.net/manual/en/class.domdocument.php' ) . ''; + } + */ + + //// GZIP + //$posting['gzip']['name'] = 'GZip'; + //$posting['gzip']['help'] = '[?]'; + // + //if ( $sysinfo['gzip'] == true ) { + // $posting['gzip']['success'] = true; + //} else { + // $posting['gzip']['success'] = false; + // $posting['gzip']['note'] = sprintf( __( 'Your server does not support the gzopen function - this is required to use the GeoIP database from MaxMind. The API fallback will be used instead for geolocation.', 'redux-framework' ), 'http://php.net/manual/en/zlib.installation.php' ) . ''; + //} + + // WP Remote Post Check + $posting['wp_remote_post']['name'] = __( 'Remote Post', 'redux-framework' ); + $posting['wp_remote_post']['help'] = '[?]'; + + if ( $sysinfo['wp_remote_post'] == true ) { + $posting['wp_remote_post']['success'] = true; + } else { + $posting['wp_remote_post']['note'] = __( 'wp_remote_post() failed. Many advanced features may not function. Contact your hosting provider.', 'redux-framework' ); + + if ( $sysinfo['wp_remote_post_error'] ) { + $posting['wp_remote_post']['note'] .= ' ' . sprintf( __( 'Error: %s', 'redux-framework' ), rexux_clean( $sysinfo['wp_remote_post_error'] ) ); + } + + $posting['wp_remote_post']['success'] = false; + } + + // WP Remote Get Check + $posting['wp_remote_get']['name'] = __( 'Remote Get', 'redux-framework' ); + $posting['wp_remote_get']['help'] = '[?]'; + + if ( $sysinfo['wp_remote_get'] == true ) { + $posting['wp_remote_get']['success'] = true; + } else { + $posting['wp_remote_get']['note'] = __( 'wp_remote_get() failed. This is needed to get information from remote servers. Contact your hosting provider.', 'redux-framework' ); + if ( $sysinfo['wp_remote_get_error'] ) { + $posting['wp_remote_get']['note'] .= ' ' . sprintf( __( 'Error: %s', 'redux-framework' ), redux_clean( $sysinfo['wp_remote_get_error'] ) ); + } + + $posting['wp_remote_get']['success'] = false; + } + + $posting = apply_filters( 'redux_debug_posting', $posting ); + + foreach ( $posting as $post ) { + $mark = ! empty( $post['success'] ) ? 'yes' : 'error'; + ?> + + + + + + + +
        :[?]'; ?>
        :[?]'; ?>' . '✔' . ''; + } else { + echo '' . '–' . ''; + }?> +
        :[?]'; ?>
        :[?]'; ?>' . $sysinfo['abspath'] . ''; ?>
        :[?]'; ?>
        :[?]'; ?>
        :[?]'; ?>
        :[?]'; ?>
        :[?]'; ?>' . '✔' . ''; + } else { + echo '' . '–' . ''; + } + ?>
        :[?]'; ?>' . '✔' . ''; + } else { + echo '' . '–' . ''; + } ?>
        :[?]'; ?>
        :[?]'; ?>
        + : + [?]'; ?>' . '✕ ' . sprintf( __( 'Default timezone is %s - it should be UTC', 'redux-framework' ), date_default_timezone_get() ) . ''; + } else { + echo '' . '✔' . ''; + } ?> +
        + : + + + + + +
        + + + + + + + + $plugin_data ) { + $version_string = ''; + $network_string = ''; + + if ( ! empty( $plugin_data['Name'] ) ) { + // link the plugin name to the plugin url if available + $plugin_name = esc_html( $plugin_data['Name'] ); + + if ( ! empty( $plugin_data['PluginURI'] ) ) { + $plugin_name = '' . $plugin_name . ''; + } + ?> + + + + + + + +
        + () +
         
        + $data ) { + $inst_name = ucwords( str_replace( array( '_', '-' ), ' ', $inst ) ); + $args = $data['args']; + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $found_plugin_files ) { + ?> + + + + + + + + + + + + + +
        opt_name:[?]'; ?>
        global_variable:[?]'; ?>
        dev_mode:[?]'; ?>' . '✔' . '' : '' . '–' . ''; ?>
        ajax_save:[?]'; ?>' . '✔' . '' : '' . '–' . ''; ?>
        page_slug:[?]'; ?>
        page_permissions:[?]'; ?>
        menu_type:[?]'; ?>
        page_parent:[?]'; ?>
        compiler:[?]'; ?>' . '✔' . '' : '' . '–' . ''; ?>
        output:[?]'; ?>' . '✔' . '' : '' . '–' . ''; ?>
        output_tag:[?]'; ?>' . '✔' . '' : '' . '–' . ''; ?>
        template_path:[?]'; ?>' . $args['templates_path'] . ''; ?>
        Templates:[?]'; ?>', $found_plugin_files ); ?>
        Extensions[?]'; ?> + $arr ) { + $ver = $arr['version']; + ?> + ' . ucwords( str_replace( array( + '_', + '-' + ), ' ', $name ) ) . ' - ' . $ver; ?>
        + +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        :[?]'; ?>
        :[?]'; ?>Version, '!=' ) ) { + echo ' – ' . $theme_version_data['version'] . ' ' . __( 'is available', 'redux-framework' ) . ''; + } + ?>
        :[?]'; ?>
        :[?]'; ?>' . '✔' . '' : '✕
        ' . sprintf( __( 'If you\'re modifying Redux Framework or a parent theme you didn\'t build personally, we recommend using a child theme. See: How to create a child theme', 'redux-framework' ), 'http://codex.wordpress.org/Child_Themes' ) . ''; + ?>
        : + [?]'; ?>
        + : + [?]'; ?>
        + : + [?]'; ?>
        + + \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php new file mode 100644 index 00000000..ea4562e9 --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/views/support.php @@ -0,0 +1,229 @@ +
        +

        + +
        display_version ); ?>
        +
        +
        + + actions(); ?> + tabs(); ?> + +
        + + +
        + + + + +
        +

        + +

        + +

        Status tab.', 'redux-framework' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( admin_url( 'tools.php?page=redux-status' ) ) ); + ?> +

        + +

        + +
        + +
        +

        + +

        + +

        + + + + + + +


        + +


        + +
        + + +
        +
        +

        + + +
        +

        + +

        + +

        + '; + foreach ( $redux as $panel ) { + echo ' ' . $panel->args['display_name'] . ''; + if ( ! empty( $panel->args['display_version'] ) ) { + echo ' v' . $panel->args['display_version']; + } + echo ' 
        '; + } + echo '
        '; + } + + + // + // $t = wp_get_theme(); + // $active_theme = array( + // 'name' => $t->get( 'Name' ), + // 'version' => $t->get( 'Version' ), + // 'template' => $t->get( 'Template' ), + // 'productURL' => $t->get( 'ThemeURI' ), + // 'author' => $t->get( 'Author' ), + // 'authorURL' => $t->get( 'AuthorURI' ), + // ); + // $parent_theme = array(); + // + // if ( ! empty( $active_theme['Template'] ) ) { + // $pt = wp_get_theme( $active_theme['Template'] ); + // $parent_theme = array( + // 'name' => $pt->get( 'Name' ), + // 'version' => $pt->get( 'Version' ), + // 'template' => $pt->get( 'Template' ), + // 'productURL' => $pt->get( 'ThemeURI' ), + // 'author' => $pt->get( 'Author' ), + // 'authorURL' => $pt->get( 'AuthorURI' ), + // ); + // } + // + // + // $products = array( 'plugins' => array(), 'theme' => array(), 'unknown' => array() ); + // + // $active_plugins = (array) get_option( 'active_plugins', array() ); + // + // if ( is_multisite() ) { + // $active_plugins = array_merge( $active_plugins, get_site_option( 'active_sitewide_plugins', array() ) ); + // } + // + // $plugins = array(); + // + // foreach ( $active_plugins as $plugin ) : + // $plugin_data = @get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); + // $plugins[ $plugin_data['Name'] ] = array( + // 'name' => $plugin_data['Name'], + // 'title' => $plugin_data['Title'], + // 'version' => $plugin_data['Version'], + // 'productURL' => $plugin_data['PluginURI'], + // 'author' => $plugin_data['Author'], + // 'authorURL' => $plugin_data['AuthorURI'], + // ); + // endforeach; + // + // + // foreach ( $redux as $panel ) { + // if ( $active_theme == $panel->args['display_name'] ) { + // $products['theme'] = $active_theme; + // } else if ( $parent_theme == $panel->args['display_name'] ) { + // $products['theme'] = $parent_theme; + // } else if ( isset( $plugins[ $panel->args['display_name'] ] ) ) { + // $products['plugins'][] = array( + // 'name' => $panel->args['display_name'], + // 'version' => $panel->args['display_version'] + // ); + // } else { + // $products['unknown'][] = array( + // 'name' => $panel->args['display_name'], + // 'version' => $panel->args['display_version'] + // ); + // } + // } + // print_r( $products ); + //?> + + + + + + + + + + + + + + + + + + Name ); ?> + + + + + Name ); ?> + Name; ?> + Version; ?> + + + + + +
        + + +

        + following article before asking for support from us directly.', 'redux-framework' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( 'http://docs.reduxframework.com/core/support-defined/' ) ); + ?> + + + +

        + +
        +
        + + +
        +
        + +
        \ No newline at end of file diff --git a/admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php b/admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php new file mode 100644 index 00000000..6c0ad90f --- /dev/null +++ b/admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/welcome.php @@ -0,0 +1,564 @@ +redux_loaded ) { + return; + } + $this->redux_loaded = true; + add_action( 'admin_menu', array( $this, 'admin_menus' ) ); + + if ( isset( $_GET['page'] ) ) { + if ( substr( $_GET['page'], 0, 6 ) == "redux-" ) { + $version = explode( '.', ReduxFramework::$_version ); + $this->display_version = $version[0] . '.' . $version[1]; + add_filter( 'admin_footer_text', array( $this, 'change_wp_footer' ) ); + add_action( 'admin_head', array( $this, 'admin_head' ) ); + } else { + $this->check_version(); + } + } else { + $this->check_version(); + } + update_option( 'redux_version_upgraded_from', ReduxFramework::$_version ); + set_transient( '_redux_activation_redirect', true, 30 ); + + } + + + public function check_version() { + global $pagenow; + + if ( $pagenow == "admin-ajax.php" || ( $GLOBALS['pagenow'] == "customize" && isset( $_GET['theme'] ) && ! empty( $_GET['theme'] ) ) ) { + return; + } + + $saveVer = Redux_Helpers::major_version( get_option( 'redux_version_upgraded_from' ) ); + $curVer = Redux_Helpers::major_version( ReduxFramework::$_version ); + $compare = false; + + if ( Redux_Helpers::isLocalHost() ) { + $compare = true; + } else if ( class_exists( 'ReduxFrameworkPlugin' ) ) { + $compare = true; + } else { + $redux = ReduxFrameworkInstances::get_all_instances(); + foreach ( $redux as $panel ) { + if ( $panel->args['dev_mode'] == 1 ) { + $compare = true; + break; + } + } + } + + if ( $compare ) { + $redirect = false; + if ( empty( $saveVer ) ) { + $redirect = true; // First time + } else if ( version_compare( $curVer, $saveVer, '>' ) ) { + $redirect = true; // Previous version + } + if ( $redirect ) { + add_action('init', array($this, 'do_redirect')); + } + } + } + + public function do_redirect() { + wp_redirect( admin_url( 'tools.php?page=redux-about' ) ); + exit(); + } + + public function change_wp_footer() { + echo 'If you like Redux please leave us a ★★★★★ rating. A huge thank you from Redux in advance!'; + } + + public function support_hash() { + + if ( ! wp_verify_nonce( $_POST['nonce'], 'redux-support-hash' ) ) { + die(); + } + + $data = get_option( 'redux_support_hash' ); + $data = wp_parse_args( $data, array( 'check' => '', 'identifier' => '' ) ); + $generate_hash = true; + $system_info = Redux_Helpers::compileSystemStatus(); + $newHash = md5( json_encode( $system_info ) ); + $return = array(); + if ( $newHash == $data['check'] ) { + unset( $generate_hash ); + } + $post_data = array( + 'hash' => md5( network_site_url() . '-' . $_SERVER['REMOTE_ADDR'] ), + 'site' => esc_url( home_url( '/' ) ), + 'tracking' => Redux_Helpers::getTrackingObject(), + 'system_status' => $system_info, + ); + //$post_data = json_encode( $post_data ); + $post_data = serialize( $post_data ); + + if ( isset( $generate_hash ) && $generate_hash ) { + $data['check'] = $newHash; + $data['identifier'] = ""; + $response = wp_remote_post( 'http://support.redux.io/v1/', array( + 'method' => 'POST', + 'timeout' => 65, + 'redirection' => 5, + 'httpversion' => '1.0', + 'blocking' => true, + 'compress' => true, + 'headers' => array(), + 'body' => array( + 'data' => $post_data, + 'serialize' => 1 + ) + ) + ); + + if ( is_wp_error( $response ) ) { + echo json_encode( array( + 'status' => 'error', + 'message' => $response->get_error_message() + ) ); + die( 1 ); + } else { + $response_code = wp_remote_retrieve_response_code( $response ); + if ( $response_code == 200 ) { + $response = wp_remote_retrieve_body( $response ); + $return = json_decode( $response, true ); + if ( isset( $return['identifier'] ) ) { + $data['identifier'] = $return['identifier']; + update_option( 'redux_support_hash', $data ); + } + } else { + $response = wp_remote_retrieve_body( $response ); + echo json_encode( array( + 'status' => 'error', + 'message' => $response + ) ); + } + } + } + + if ( ! empty( $data['identifier'] ) ) { + $return['status'] = "success"; + $return['identifier'] = $data['identifier']; + } else { + $return['status'] = "error"; + $return['message'] = __( "Support hash could not be generated. Please try again later.", 'redux-framework' ); + } + + echo json_encode( $return ); + + die( 1 ); + } + + /** + * Register the Dashboard Pages which are later hidden but these pages + * are used to render the Welcome and Credits pages. + * + * @access public + * @since 1.4 + * @return void + */ + public function admin_menus() { + + // About Page + add_management_page( + __( 'Welcome to Redux Framework', 'redux-framework' ), __( 'Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-about', array( + $this, + 'about_screen' + ) + ); + + // Changelog Page + add_management_page( + __( 'Redux Framework Changelog', 'redux-framework' ), __( 'Redux Framework Changelog', 'redux-framework' ), $this->minimum_capability, 'redux-changelog', array( + $this, + 'changelog_screen' + ) + ); + + // Support Page + add_management_page( + __( 'Get Support', 'redux-framework' ), __( 'Get Support', 'redux-framework' ), $this->minimum_capability, 'redux-support', array( + $this, + 'get_support' + ) + ); + + // Support Page + add_management_page( + __( 'Redux Extensions', 'redux-framework' ), __( 'Redux Extensions', 'redux-framework' ), $this->minimum_capability, 'redux-extensions', array( + $this, + 'redux_extensions' + ) + ); + + + // Credits Page + add_management_page( + __( 'The people that develop Redux Framework', 'redux-framework' ), __( 'The people that develop Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-credits', array( + $this, + 'credits_screen' + ) + ); + + // Status Page + add_management_page( + __( 'Redux Framework Status', 'redux-framework' ), __( 'Redux Framework Status', 'redux-framework' ), $this->minimum_capability, 'redux-status', array( + $this, + 'status_screen' + ) + ); + + //remove_submenu_page( 'tools.php', 'redux-about' ); + remove_submenu_page( 'tools.php', 'redux-status' ); + remove_submenu_page( 'tools.php', 'redux-changelog' ); + remove_submenu_page( 'tools.php', 'redux-getting-started' ); + remove_submenu_page( 'tools.php', 'redux-credits' ); + remove_submenu_page( 'tools.php', 'redux-support' ); + remove_submenu_page( 'tools.php', 'redux-extensions' ); + + + } + + /** + * Hide Individual Dashboard Pages + * + * @access public + * @since 1.4 + * @return void + */ + public function admin_head() { + + // Badge for welcome page + $badge_url = ReduxFramework::$_url . 'assets/images/redux-badge.png'; + ?> + + + + + + + + + + + + + + + + + + + + +

        '; + + include_once( 'views/about.php' ); + + } + + /** + * Render Changelog Screen + * + * @access public + * @since 2.0.3 + * @return void + */ + public function changelog_screen() { + // Stupid hack for Wordpress alerts and warnings + echo '

        '; + + include_once( 'views/changelog.php' ); + + } + + /** + * Render Changelog Screen + * + * @access public + * @since 2.0.3 + * @return void + */ + public function redux_extensions() { + // Stupid hack for Wordpress alerts and warnings + echo '

        '; + + include_once( 'views/extensions.php' ); + + } + + + /** + * Render Get Support Screen + * + * @access public + * @since 1.9 + * @return void + */ + public function get_support() { + // Stupid hack for Wordpress alerts and warnings + echo '

        '; + + include_once( 'views/support.php' ); + + } + + /** + * Render Credits Screen + * + * @access public + * @since 1.4 + * @return void + */ + public function credits_screen() { + // Stupid hack for Wordpress alerts and warnings + echo '

        '; + + include_once( 'views/credits.php' ); + + } + + /** + * Render Status Report Screen + * + * @access public + * @since 1.4 + * @return void + */ + public function status_screen() { + // Stupid hack for Wordpress alerts and warnings + echo '

        '; + + include_once( 'views/status_report.php' ); + + } + + /** + * Parse the Redux readme.txt file + * + * @since 2.0.3 + * @return string $readme HTML formatted readme file + */ + public function parse_readme() { + if ( file_exists( ReduxFramework::$_dir . 'inc/fields/raw/parsedown.php' ) ) { + require_once ReduxFramework::$_dir . 'inc/fields/raw/parsedown.php'; + $Parsedown = new Parsedown(); + + return $Parsedown->text( trim( str_replace( '# Redux Framework Changelog', '', wp_remote_retrieve_body( wp_remote_get( ReduxFramework::$_url . '../CHANGELOG.md' ) ) ) ) ); + } + + return ''; + + } + + public function actions() { + ?> +

        + Docs + Review Us + Donate + + +

        + get_contributors(); + + if ( empty ( $contributors ) ) { + return ''; + } + + $contributor_list = ''; + + return $contributor_list; + } + + /** + * Retreive list of contributors from GitHub. + * + * @access public + * @since 1.4 + * @return array $contributors List of contributors + */ + public function get_contributors() { + $contributors = get_transient( 'redux_contributors' ); + + if ( false !== $contributors ) { + return $contributors; + } + + $response = wp_remote_get( 'https://api.github.com/repos/ReduxFramework/redux-framework/contributors', array( 'sslverify' => false ) ); + + if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) { + return array(); + } + + $contributors = json_decode( wp_remote_retrieve_body( $response ) ); + + if ( ! is_array( $contributors ) ) { + return array(); + } + + set_transient( 'redux_contributors', $contributors, 3600 ); + + return $contributors; + } + } + + new Redux_Welcome(); + diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/ar.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/ar.mo index 600b1ad8dd82ceb7d23096c3b4c219750a0456e3..e682d0a5f70d10aedf4af0623fb56c44633ad2be 100644 GIT binary patch delta 4291 zcmYk<32>C<9mnx!2}cMRa&QDA$p#2_LPC}!5Fn%&PAdWdK`1N`U?G>A4HiTfkr2*e z`i7%aKrSK3y?{{K$`snp6be#0u;H2>N^NZ|T5AVJhJJthzM1iv{NK;>Jp1l*zq_0I zEw0TquHgNIrkf4v1L8R%(9D=m@k$IA((G7c63~m0*ReU}T8zeR7>Bzt3QuBtJcIn1 z-*f4YcX1>pv@ynmQ_*cq&}<;nj*275pSj2-9&cbGe(IDTA%CV7y=g$n*cvlY0~&%Y zu>haJ@tBFzkvW;Q*aA0UTil8%^luJ3FI+}7bOT%AZB&B~P&0anCD?+|siA=5a?}J? zp*r4E$QFfC8L=vqy~GSW-!PpkHVRhr{c?a z8k=G)%b@!bQ3LMmn2G%;4@TWrikg_e9qXS)<_#*CwAqC^L?^Hbo<=S8SyaOp(2dtn zhwmY(qesZ@m}X2<18$EUu^XmizEeLRr&3;mYWHe;)?YKdNrgss54GoiLG9%~Q7iNq zwba^|XW<#tfO;USX$GP?9*cc&I`+UCRJ+Gf?VLuv?>wsC-vyl)uA@4>g&NtP9siD+ z;g_f-dxGjHI>~M*30G0>j@|Jv?!Z4{Ci+6w_HsrYq{kov1C? z=Xek`fWuDtEb6|Wqh|Ok)J#4{&GakO*8C4O5tD2WJQ`I_M0U$0+vT9iCR0R3E`EZW zun+@$+R%nMkEwVQwF2Lu2H@&sZ%GSOeOnxYsi^nAg3sd~9EYFb9Q35{*??OyN6-H! zWHP8oqL;o{h+bTRvoVaCQLfvz06Fkxoa1a9OSuYJRdWG#25vjHNV8|`K^^k3$Z;|= z@JNugt|ZfqinMgL0Y{@cEJdC~vjltMI;Z{=j-dPtWU3m3>&EzI-_35L;lP}E*ik=sMEg*b^p7_qM1{ek2f$H+cHY6OefTY z`k^|WhC20cVsqSx+OoQytiLk5s9+N25Wa^WJ2$-A%f4|rcBZ}tSuAtNslS41@D^$% z?xUWL$EbnF^tQ_>r~zf7wx9?(MrJ|ppnbzCD)fdr)CwF#HS|l=Os`^7{1?XHSEz=b zpjM_08?FgFhhtoP386k0HgK?X|1PY-L--E%jkb`P!P%}D)!|@uvfNlEQ9n3^cWFcxGRZjhS)EU`=dVL3KB8MXNL1QkF z(H30BcKA0;#3zpNEXQY*(@`D94m9Q;I0G4j8O6G50?TnKR--0x5A!iS*Zy@iA7d#e z47LZ9hOOz}^dO@K`l|wmq4sbb_P{Bq83Y|yqaMSJsQdS$R_Y|S#7n5BY=wvMB|PgGGt4f}z$Mfl#WyjX z{aJwf@Of;VZ?``Y$57sa8qlBe*?(mw@^KcAmryghiJHM*Q3GgRV9XkHqssNz2QMOh znun;zuP?Jm#UjTlbWv8~L5Mst+FHgH`N6whpZ{J8KH^7&Qa&+(=t9tc=T&alA zc4+2r5RK_QGVc>w!G**OLMfG)63N*Ytq=djra-BtVBbG&K z>|aAG$iGEY5gQ4mxkOqd$2X*74RS;x=_g#ZRjmn~wO0rozLCTR`Um^49KzL+65q{^ z;-`cTO(wC9;P9FNagbuZp)V!1(VI|;wTWDlxppPWiM@oLkaq|V@g|W+1namc?XWTX z@kQc?L^G%E1&kpIi3FlEp|sM*EJ8Q2gqTh2BlxU|{7(UqA0e_az0{Z)G1n@Ln-Hpx zyXUfgmN3g|llXykJ+Zfy(zdS6sNz7tSGK@CDd6=7isyyewY%lA{@cDy^n8DLsk><6 zc&kr`v)1PwGOTV%IZ@uyVryzrzI7^TxYeTL^3a`*6I`Bvw``u*KhIrQUKXe{G!&>3 zOG}E)q^dcUbN#+KcCJ`2S5;J$`vak6$st!%acOa=SEnSGwLE1|t|_W4_LtFvnNsYp z^p%%2>Q1jTQ+&m**;e`j?uwGC1->%(!t&DM3h#o@w<(FuLOET}x#Id~WO*{O`nj__ zgFXERXAiW#O;3H%lacLlXJrk}&gq>+iW%>%3}j69d&??Iyn%B6VE0Hm^DXn0y9>(8 z=KD(B1>U&}-FX4$4qmLxpSQ?Yo;kO?G;@wWw7A3Xs_?<^vGDHDE z2_RH!dqi9Nun0l|NC+3f;Iy?1JF8uG+No=tId_~Hr>oM{>5PtRI@8B2JI?Qa&IvQl z%v!To{^z$}XMf-R_P5W?kpq#Q=OP_{H+sksLwN&Dl7<=+iNKLGC^pZSLO2zUhP6=h zHbbVG47?sb3i&ggJT&hJ91OeRICuu$1h2qK_%^IHro&vHZ_Io;)-<7I+SDOa5!8DZ-jTiQn(&o2Rq;h?3*qsL+E%0>V+fl z7Wg6@2K(Vy_!9EUd};H^-GXG1w&2^E3Qgj@s1)7}C#e<#%Z$3h;29U6F+ zie7vXDl})H44;Qu`1??yehW^A??UZF5A~0Oa(o6<1WMqKVJ*~p`E-io;r(zjycg~o zNBs5TPw3D>??8Ec70Q7>hW#VyBwx%V_&Hbt?}LY--hUtJ2>%i4y^o-F`bo$eZVo~| z9#+s_1hw(|ZYKUysWi}`Bre)+Knvf7oQnAk)GZjsImvJy z^c{xUSPA6MEa6cEH^a?vcLx=J=V8ZHC__so1UsvP+SwYYqu2nIJP$yHG!AuiNywjh zjE5Y29+H>l1l0Qda1Q(toCSXiwQk3hiNQkCp%y9*xd3XRTBrp!LK$p;awHDrXc}tA zk3xm?0Mz`iK)wGG?1X)ACcK^SeiMEkmg@e0Ol2M&w@nTvY=xHg0oV?^p$r#t_jDw) zLe7CQJU47t!$q{0LCyaH)J~s(%8?$ZBRU7=Xg?gL`~M~t^2GcY5`FW&KVZy%KxOIB zDfGe5!g^R^gHRuYbeUsN3toXT{1d21{smP3&*5VDPf+jABH`*_65fe@^D32XFjB}l z!x&UV`d|sX3d`V_X~sn1a`+&88EQvErw1Dt1r?E*Q2p~DH`P>!+yGb8ZiL!sAM8+4 zyhTO)J><%oqN3n7EQZ`bvlgBmjAO8v_L$k+b+{DrigBO}9)h|JF67Ug%gQRF+>y zD(k(ma0HwP36_}wzYW)f{U3zUqCtf8>kQ4gt@_oZ4Mkodll6DjxAIa(&lhrA5@53I0T-D^7Imv zLw_CeDx63ABgmhbULF{_7b@i2p(2oht0Km{0QEt7pYN~M`5olQJIo+fd4`Td@FqBM zez4PGsDcJ_WVI=b)1B7~~c69jN#I6)K|n3;CskGoj|yL5**P z9KU%CR%73srqT<41@+=r7qL5d7Rqo#Rj{)}$TrA@Fnb~SXU;;+`x_`jSK$iy3CxEp z`1;I*Tc9?&2Wn$SVaHl3Kc}KIDXR{4Rt1$LD?)CDa%?+PQtgIH%HvRxI1Od^H8>Hz z4K@Ems3aS*B;d{PSG4Cq*)3Q~{C`cQVQKI`;5yveOnV>H4&H^!;4~hmVGJrq@@fJH zra(C`11bXZ!ge*hpY|%KjU9)xU@w&89vlzftLX?r^gB9+(=nU`;NxV*K;7>pPz!H^ zJK@9Xj~Mf}u$lIt+Tg$09dJ4A6Hp=lHI$)`p&~Q5F8DN0h8t+l4*6(DSot&f2m@2< zjd>hC2e-ol!oZN(4Q1d8Tm^@%3>?}J@(PsUN(QyF6;M0h3KgM;U?FUSa_9wk5O!P$ zJC>{tegif`PQ!Gz zuI?h;e}~Fhq>n>4QrQu}f8H3@l`xG+3B_-bxd$cDMKn;RQF$2+L&_tSS zFQXFGxAD;Vl2?9a0`oPr2i<`dpe^VqdH`)jD&IhNp)6XAhM-C`7QKd2s0nRE*P$;X zl?Tzc&=*jieEB>T6=lE5?PxuEK@EzsIfL#+hfobtIfk~QVpN1wR-;~|-;K|pN$5QK zDjF!8s4PR@LC+1uzl(;-JoFX6#(%VMVOT#HQn-MgM|+Wr4j`4O0sQYmjQZnYdjQL+ z%tZQtsq98^orOvZD)Vc>HGGl!t>{SDHv>L{_M>{FyRK4)?nVV_P==%VXarhn$aCKj{noVMz+=u-E=n>OahV)0Bo*%D3Idw0a587H0XyXn11MKYPNnWlKlcC$RW zquqblHSv~*&GM8J&CqYRBwJIqKAuWv?D}YnlW?ETi@JZvJ36j5+0feTv}Bl;Y%#UT zww6RP8gsvvKWA#)u8h-?raNsLlPO#Gh?8m$tkkn=Yszuo%s*}I)s>n>ZLiZ(lK$<)JUMbc)H|FbvS zH2SY1d1bb4*N$W=WAEA_U(@b_u~SDi`#p`RWV3CICmeUv*w==xN~c?$w0mPg>BwZt zv7xhRcTqv5n=V*7X3Qown1Lwv~7!Oi>)oOQukcJve9?3Q(I9v7lUC0+z$&L z-*C-K8&BH?Mb?SgZS6K{aXk@hi^m+BaiYyO*=S?VBZOmzlSh$akpUmgMl~9P=o$jo5{sr{wm#XCNvqk;u`52cn0Ehs{DkbkjPHwN zdu}O+EQoGPU_BZ7g-p5b-pzXD`8Vj){Lam;no8m?s{QAjtW;{I`!n*Y|w z*4WFDy!j<_7nM}Zx8)0}<}Iu$FL!S!oU*>Wr2KYUKCh}`(QR`nBi2OInUZ@_(Ux>V zSyg3gnwr_v+GG<>$8239-4taXwz|#P*34WdwJe&7Zp$QF8=6WRlFixn!mW|W!fbBZ z%1H75x@8IfmU+j#i@814JLC1{4tc%)ZL>v3CY4Uh z)I50gA@8X5`WQUn^_$#&FYBERVVT(J4|RK&42}KXh1`=&&voVwvg)bazF^9++(EjY zbSKU3bWhLzWICg=b|SaeAJ28M=t-~N>-Bn!_e!oS_vKut+f%$@+JHB{Yb>!Z*J-hV zONLp8yz^d<`-kFxUzhdHXhiOu@-F8NG1O;s`{?MR>tyb*rXSR@UauVO^tv&2)C34# z?AKh2Fa7S9DkhH(rk%?jz;-ub!K0@trer_9Er0MZTjsyw{-Si{1ctNh6ob@yc|W&b zkIvklY;jptWO$c%0fRX1ZkxNse+?7onIF!TH_X>wh`)Pz?oxMf`EJ*i+grn3UE7f+ zSnpLLbjW+9)P1~s=OphKyF9JU%C2tnwUG6=AC`OWGZm9NaIcGg9S=*K$Q`g=H%B1H zFL^ySx5w)vWP5`(0)M-FpG81(mfkg6ZR{$OIzIOosAEi7p(T3tq-&^KYs z|MgM$K}Fx72f8`)i!$q{j`PbM^(QZ cT8JaB>e>c3%g-_{VyW@N?~i5Qsd*#vpCD}~)&Kwi diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/bg_BG.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/bg_BG.mo index 50a31e3f2a2328da776d39d902f6cd0b11f311ac..c411c135a669be8d6b9cfa9f8286570281a57fb5 100644 GIT binary patch delta 2508 zcmYk-eN0t#9LMn=0`VY*h$0vd#|$+UxFBQ#DT1ak6(4{wMZMq^Zo$2HFKD*43u+IV zo9UU;T9&n1TYnUK=O7C=ovr0;p3B@?bL(NtxwSU?r};-Ydw(v+)^B{z>->J_cYe?3 zGTv~nKJwGFq?3lUgUBbQCmIvMj7PYTQd5o5Z5r}trgE8zc}P{W0CTVuAH`Kzh0VAU zk6vFwN{9-&||9!LJn z87_M9Q`aw0J&vI2fA4w|HPTy{j=!VY`OD2GP^f$cs>58na%rRgk?9#pvnHExA^ zRKuIxycgTZ@4+Oz=6VCw&`q3;w~(bU_fbolN$-;|8(B4zgBnl~7Y$_LWHv}Mt)V~- zH6VjGji{w+Mh&n7wY1$h3kOgGd>g0X2dDUmTz|5f|}6|*G^QuE;k=Wb+8ZB@T;hf520p$7}fp>WO2;9s4b0r!i`@1 z%6)JdYsg>6XEBv!ScOgK#gn)b@8NW8V>*r4i#old7+|C~P%E;G<GX+=(-B4{BzI;}wi~A1lb8L;lQfT-4Ct_&BEXlFmd4YR}iW`8}wm zK8o6kQ>fpC_fY+Pi5dEVxWtivT( zg)gIK{5h(l%cvzEM-AX-)Ykli5mn4!__7G~8CAG8qh_!dHPays;K%qFW^*aQGS_x& zCjSjC)DQS~A-SK0n4OA*6v?=ItP~#0J75l=#7k|KHU;hco`uSb^6pF_+M3tcl)EX-X)r4+ZyyeIe7(?G1GKdV*c1p~vS9S*yK0J-*O>a>20A zZcQsr_3h$;MNO3@<&~DlQ(eAzp@)>d)*J3GX%2Y<;T~^)FjQ@= zqyzse{-9MK4D9yzTJ_$}ZmYK6t--@^-L4n?!P3rPZ)ry;dMDFLNLU(8&AOg6<#=q+ z8IB!vMq)=|gZB80O?Fkz#+VPwBkr}q)r6aL7DIcV1p6dnYQgm|Rw~7A( Dm=$P~ delta 2555 zcmYM!S!`5Q0LJlCT7;HL3rHzT=>=LuYztF{rEEf5Pzbw}B1`Dd4sA_4Q)dQ*rvVCL zh=%0~Dp8{kMomNu(}qeZpwVcQ#4{ofU|gakiW*}yfnYH4|4lD=GG~5gyJx@mR^?Y! z@$ZIa95aN?#4*H-bYtT9dw>22zYH+uKD>bg@lVXf+elNBMPVKe#=%&O)6tLB_$2!A zeH@P0aTxxCLyTEt24@2#x}K{TTst6;vftiIW;V< zkq%Oz4qitFGw*o~&v>3k&G-|{!mm*seDCFd^YS-Q6X-{y92|%mFdtQ3=;e#O`jRX* za0C@|DbN6Gy^4C&)gSjY_!D%*bm2{7E*-#OeuewPz7p7 zmZ17sJ%|Hj(q=sc+JUX8nYN*}dIyfecGLu4!=ZQ*)!{`fL5q{{U(`e=^04}O812AHX(Tiu+Nw)nXGf`x&+3RV-h(vJR(W4C&jviJR~=K8QIq zdJ$)02Y%`0cQeQY^7&l6$$Ek2l2}MVBRcpFYDJ&pSiFn{_!rW*$z@i$8xxQ@89%DN z3RNHQ>SL${?f1%0U^)4dn2$f8?w`3$f}hFYCaS~HI36dX&VD)SY@59N5!6<{i#qEw zsPDl!)Woi$cH~#o1a6^rB%4vo(2s>!j}!C(X(yq9-olUZBh(HY7}<9@590#zCvZA` zgIehj9@2nCr~#*=CQ^wysx7E?Vb8s&x8|7V8H{TsS4n8a*D-_xMzagJgTGQd>Uj~@ zlK%szVilul;23Hmd$1Ufq88ANti^ojm0v@((|Kv>YM4iXW?G1vP&r0%9uQ0A!-2#QVeVE5QwFHIPM16h~mJw$WXDH(Z9iBpMAF2Ne{KXeLpgkaD6nTUShLSxWQ~6*$M#ck@wPLDXhHLe!T-VGVIgD#e~) zm6z71@FC(v;wqv;)WyivdvZ5$ol`HIKD?8OQ;9kZy+gdCsS|%3dEry{d?6|$kTCL$N@tIUF+8;ip3_;Xs3XDf9W< zDbAvuZQ)4FS=pw_sJl9ATuy7MWLqTM>TGLn3A$}rb%`rkThiP)*(2Qz*@f!^TU&xo zEbP=rf`M4j2{@79Q`?&(!3L*+|N2-sva8Hl)e;OugHA9M-5#NJQy^w)Ld~(LscF;j zrY0JUgaWNWvo08kGPYA3O`OeswO_8kbZSLux!>{4oIP#UY@g3<%qh(BmHK8lzG<_| zE8N35BPJ~mM7Bqpoa$hxzA3oFncJGmmo@a|7c{m8np?{1!>x%cIZj&Iti;XSOBrr* z_^LrC?0I{^b|-h+4tI23t$Q$U%>d#LQCf5vcZXKET<484~}=^=T@QRj|5#R$)mNbX4eSq9N10<^ zVYWTVLnSn$mU13fQ`>D5$#(kbwcRC7@__9!wC(CEaIAZ0jL)qs7?rMl?kM;){XeF` Bo%R3# diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/bn_BD.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/bn_BD.mo index 9fb1d876dbf45c6b2cc8fabcd6be553452f5424e..f944e029cdb4113f6d302cb7d949f6a0fcdcf7c8 100644 GIT binary patch delta 1999 zcmYk*YfKzf6u|LI%e&BS3#Cv|M`~ZXOP6J-u$0&$tr$x%P)MVR+bKKRwYxLR?jVrX zZ1~U^W2!bQF|pAmJ{B#CSgIk>*ciSx(Wb^2W9s;bj~L%ZqsGMl8HSe0-uaz-X6D{I zXYPL4^nEycWnJN<;%KMU)BY$>suwS=mD*Oi5 z;y+l76`UHe3Q4I>EL1A1x(TXD^k4}dMtclr&KN37xItysQsae*N$pwGJ9@npZ;Oq1#{gj-el8#dA8$jZ)) zxZz@n8oYQ3Ssc}M-|Cj7@Ile@>QoHg3@v@JBL#?m1r3wa%RYxb%8c{ZWn%ToaNUm;!j)THMUGa>5IAP?j6xG(65~;moDcy{zeU@o!`}AZyF+TTiQKX>ZfR$1Mef!lw zDq-m{HIOmVrk*s^ppninlD0WB*Im-L!q*ZAh62H6Efk7`!jVuYcebp)l4NtBDX2BI zM4H2Mm&>{fvUeJ$k=AW19nl_4kC=8~G!=+9wVGP6G2GZzelT#4WyIokpi|EnDcwF2 z(Ha|fEK6I~(WIU}nu%!Fl6P1Plpc?017_SdVp_jVMKaf}-))SKTIpD3e>{`5BU&`t z9yQvdW059*XozqrFeT9*HQl~H%q25wT2^W)eYN9n9%`qUQQfxF3?|_bJDKo8H)~wW zE{1M)EK=>xdG(3KsdL9y)#bierPUn_95BZ0n3dGyW}ts0m9o;TcihP2?yCru&O7-@ zCx1@mo?2g%>!=LReO}SCqU3^;f7Y3LG`D5Vw{0h!{8=Z@eeXH>SttLZa`LY^dG6rs z^|^&X-0M>(o%|bacQ&`t*IG00NQPS{-GB!!I8$eGy*_Qzw3C0uO`g%5{InbKB%{o@ l!=K|km+&pDEPu>h!K^IEU)^2x`m(9sW(?Ub!_~uu{{x32gB}0? delta 1613 zcmZwGUu;uV9Ki9jKWx~oZXKIUaPG>4iEz8y(*3*DIASMCBvedP2&UY$H(QndNqa|1 zLQ;tF2@)|k0}UY>FxvwrN{YTfq7Q_aK=gqZ4NfbY zIrp6NyQeo|e@3dm^|a0_N{o1lxX`537Tn#!7p2mwR1fY)={ka=coY+O31x1_GNt-( z3RmD;7{d23j0cd9I>Q%J)LHCRs;a)F(oV-^?7*vj`*#e|{tMgip6@@tEp&F#A3%BF zDwO98;^R1s8jj&|d>du_9$bq>Y-4?OjLKtloJ3i05m`fhgPnLDB?CX8Jm4B`#G5D! z_p_>uA3!<4kl!9b$=E0|R8696WXk{jH4L!6+D;{oyYLk}hST^fS~$e4J@_G#GIbrF z!27tB6?)jcPWxSUD+f7@ALBeO;xMO@_D}dCTBK(RKf|glSf_FThdCZ|)E6iZI*Tvh zd6W$NjeJx`ccZ-;pP?N_xjRX}Kj(W8pQGPJnRfx@`B(h@U%JVEj*ez-%4#g)I3B?g zUPM`VoG%Tx;(B}^!q-v8{fPXeuAyw`Hp*pP*-QTA2c5ji z4yRB~lth_W!Y8qc$MI7V~Q9urqU&mkTBPkpm+C8!)oh%FoPM zGj`b@+V$|mqHbq!%`VpR*R?BgyPQs0j#Emd9#riI)y9BXC%4xh;8pFosRd-F*JAf+ z4v;oAcS|tZ{#AYPaDCx;?O^beW_NA(AHgr{3*Xfj`2M=SaN2z-G~pf%4b-lNzHf0q M@0+gO@5{IT3$07}iU0rr diff --git a/admin/core/lib/ReduxFramework/ReduxCore/languages/de_DE.mo b/admin/core/lib/ReduxFramework/ReduxCore/languages/de_DE.mo index f825972f7a402405e32000d85dd29a988f8d4a20..939e617e69efc18a1496ac72325b42c5e417e47c 100644 GIT binary patch delta 4363 zcmZA432>C<9mnx!2}cN5E)wp%2npfH$%c?X07JqVNrZ42t~FW0l4LjRZU9kPu9wzD{*u~tzoDEUh7e8NjQIqAk;D&WVqarYu?%&+2D_sV`7`bOBw_@UaTg}w zLCnBI$e($IpAvi%tMFTN^O%{^&lrmnA?%O)kUw*hpA>u@)9{jWd=2?CU-F}Yb)nbZ z*dH~pyRZk2#-3P&eQ*-y<7{M(W+V2Xf3ulNIwyAGFnl_8fsRoPp2J>v5!K*(*oq&a zI;vrmvK}>oWvC8=sOPshK8j4*Jcdf{AxZz{I2CmeMRjlnHKU7;moby$Pf!ouMBU$= z>C05q`C+K%Mx$mp!8tz}m9d$Qi%|n>#)#I)PvsKsKs`90e9I+xAFjZK_!{cLexyqc zW}s%2;~baZa*nHU2|kZq@fPYn7wOS}lO2cjC;!Eq$mN7?Y(RCe3N@o<9F9R`(qRfPxKWuw-(0F|icQKn zj{6LVpHD}1JP0+gk&fd~GjyXeHVxI$TvR&^I11NdKJG>Ja~8*AT!aO<9Xcu0lc-I51@)Hw4c97_ zmN6vTw2WXP5h~lMXyivwYjzy9OJ7BvF&9v&ypE&s3sl3IBUx`8jq`D>bNmMCzS}q) zbF<^^%|UI(2GoH47|}?!ITxNmHT*IvrDw4lUP7(iJE%?gXVfP96sz!S)cs{S@x4)n ztd6NeO`sLE#Jf=$JAzuGpXZQ&J$RZEKf*Vi3$<)nb+in55zJ~-W;Ubl-{V|=5;c<} zsMqmTRKveT-S-aaxeuM||3D4=J7im#q+If^2eR3^dY~B9Pz7q2&vlL$V*!IscFo+*w3)V%(#5?*ms-X+08NH8uZOs?B5nW?R z7j8l|l*10w0LG#2n}ofv7AIl@cEx?D0UX36Jc9Z7B5J84A5hWEZlFG?U!orPH>%;= zsI^SxRnYl-?2V;(8LLqD4W?C1paA&~=O(J%l)`u>24JGz{}EKw z@i^3j<*3wDVn3|MWNbnWpac0cyZB*D<~7ukTu06L2J&ad6cN~f<+u}-xwEKDzlB}t z-@HvlYj+v76d$8f^cj+U^H1k^XmLD+qfiYMq6S=nTH9*JI@DX!;9L)31IG{IExdwD z@!j#{U+-tWo39o*Ng zpfdD1PQjc~^1qCVx0H7s&!IZZVhd{qIjC>_6wJkCsHNJ0dVg)?EsK3Swj%w-%5Hu) z69eLhvCq4z4-xgmF5+S0S*?E#6_rXNK-3Z0#Brhvq1R|C(MITN$E$1B5g|h5D4}Kh zF)@>Pfl%=i&k-HODB}OiAx`wB|JY`E9xI3x;xN%!*tD^d!SB6JT^u8ti60QPgi2rH z$ym*p#~m$vfY?T`>}CZqjo3-(?NR@+|5iJIBM373zY@F1(HYyn>Q7TYNDL+HKP8v-X$TqIbQwHPFt9b7_(EfaMQ_El+D}V1pG7dKz1N{$_h``ULx%^aBHf0e{%4^E7+S zOm8^M6>CA*6AXKsqJuN8xH4=J#OIm z1W%jS-a2q+Vx1=x+7Jjf*`3ugGl`7M2%{A6rOCs_}%v zdG$e$Kh)|82ZH5R6&?6C`2tpDz`xqpW>tC`*I1KDQ|u1SeOl96Um(9R(3XFHF#2%r z5SObg`qb!IF1zR0ioSQZd~ZFf#}-F_Irei`k4k4j{+QQd*W`zjs{P>&zQ&eTmgG$S z3-&_=1MJ@w%&?~x9?gv9JLL6+y=IO#yeVw8212dg=IC=pE4tWS-Tm!+ci-rIcecyk zQZm6lUox@lJY{^^gah4T8Mk|uUXLc0U2_egrFgy#)S->4Q)|0KYb#eI*soVV{$GmZI*b4S delta 7866 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

    +
    + '; + echo '

    Who can see content/posts in this category.

    '; + echo "
    '; + foreach($ultimatemember->query->get_roles() as $role_id => $role) { + if ( ( isset( $_um_roles ) && is_array( $_um_roles ) && in_array($role_id, $_um_roles ) ) || ( isset( $_um_roles ) && $role_id == $_um_roles ) ) { + $checked = 'checked'; + } else { + $checked = ''; + } + echo '  '; + } + echo '

    ' . __('Users who cannot see content will get redirected to that URL.','ultimatemember') . '

    '; + echo "
    '; + echo ''; + echo '

    ' . __('Users who cannot see content will get redirected to that URL.','ultimatemember') . '

    '; + echo "